Android提高之BLE開發(fā)Android手機(jī)搜索iBeacon基站
前面文章講述了Android手機(jī)與BLE終端之間的通信,而最常見的BLE終端應(yīng)該是蘋果公司倡導(dǎo)的iBeacon基站。iBeacon技術(shù)基于BLE,它的特點(diǎn)是通過廣播對外發(fā)送消息,手機(jī)不需要連上iBeacon基站也能獲取它的信息,目前主要用來做室內(nèi)定位和營銷信息推送,在BLE發(fā)出的廣播里帶上帶上特定的信息從而被識別為iBeacon。在iOS里面使用iBeacon要經(jīng)過passbook注冊iBeacon的UUID和對應(yīng)的文字簡介,而在Android上則無類似passbook這種系統(tǒng)級的后臺藍(lán)牙搜索服務(wù),這類服務(wù)需要開發(fā)者自己搞定。這次就講講Android手機(jī)搜索基站和顯示iBeacon基站參數(shù)。
搜索iBeacon基站的不難,核心在于BluetoothAdapter.LeScanCallback()的onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord),而識別iBeacon的信息就在于scanRecord數(shù)組。按照https://github.com/RadiusNetworks/android-ibeacon-service/blob/master/src/main/java/com/radiusnetworks/ibeacon/IBeacon.java,識別是否iBeacon靠下面的紅字:
// AirLocate:
// 02 01 1a 1a ff 4c 00 02 15 # Apple's fixed iBeacon advertising prefix
// e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon profile uuid
// 00 00 # major
// 00 00 # minor
// c5 # The 2's complement of the calibrated Tx Power
同時要注意iBeacon的UUID和BLE的Service、Characteristic、Descriptor的UUID是沒關(guān)系,iBeacon的UUID是廣播的時候發(fā)出,是由Apple自己定義的標(biāo)準(zhǔn),而Service、Characteristic、Descriptor必須是連上BLE終端后才得到,是BLE標(biāo)準(zhǔn)。
本文代碼運(yùn)行結(jié)果如下,不斷變化rssi可以用來做距離判斷,不過這個模塊的txPower不太準(zhǔn),所以測距就沒意義:
本文代碼點(diǎn)此本站下載,代碼就不貼出來了,核心代碼點(diǎn)此本站下載。
感興趣的朋友可以下載本站代碼測試一下運(yùn)行效果,希望對大家學(xué)習(xí)Android程序設(shè)計(jì)有一定的幫助。
- Android檢測IBeacon熱點(diǎn)的方法
- android獲取ibeacon列表的方法
- Android藍(lán)牙開發(fā)深入解析
- 詳解Android——藍(lán)牙技術(shù) 帶你實(shí)現(xiàn)終端間數(shù)據(jù)傳輸
- Android Bluetooth藍(lán)牙技術(shù)使用流程詳解
- Android單片機(jī)與藍(lán)牙模塊通信實(shí)例代碼
- 分享Android 藍(lán)牙4.0(ble)開發(fā)的解決方案
- android實(shí)現(xiàn)藍(lán)牙文件發(fā)送的實(shí)例代碼,支持多種機(jī)型
- Android手機(jī)通過藍(lán)牙連接佳博打印機(jī)的實(shí)例代碼
- Android基于ibeacon實(shí)現(xiàn)藍(lán)牙考勤功能
相關(guān)文章
Android開屏頁倒計(jì)時功能實(shí)現(xiàn)的詳細(xì)教程
本篇文章主要介紹了Android實(shí)現(xiàn)開屏頁倒計(jì)時功能實(shí)現(xiàn)的詳細(xì)教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06android socket聊天室功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了android socket聊天室功能實(shí)現(xiàn)方法,不單純是聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03Android利用HorizontalScrollView仿ViewPager設(shè)計(jì)簡單相冊
這篇文章主要介紹了Android利用HorizontalScrollView仿ViewPager設(shè)計(jì)簡單相冊的相關(guān)資料,需要的朋友可以參考下2016-05-05Android利用Dom對XML進(jìn)行增刪改查操作詳解
使用DOM進(jìn)行增刪改查,這個是DOM的優(yōu)勢所在,其實(shí)代碼很簡單,不需要過多的解釋,下面這篇文章主要給大家介紹了關(guān)于Android利用Dom對XML進(jìn)行增刪改查操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-01-01Android實(shí)現(xiàn)簡易的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡易的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-10-10Android開發(fā)中調(diào)用系統(tǒng)相冊上傳圖片到服務(wù)器OPPO等部分手機(jī)上出現(xiàn)短暫的顯示桌面問題的解決方法
這篇文章主要介紹了Android開發(fā)中調(diào)用系統(tǒng)相冊上傳圖片到服務(wù)器OPPO等部分手機(jī)上出現(xiàn)短暫的顯示桌面問題的解決方法,需要的朋友可以參考下2016-12-12Android編程實(shí)現(xiàn)只顯示圖片一部分的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)只顯示圖片一部分的方法,涉及Android針對圖片的局部顯示操作技巧,需要的朋友可以參考下2016-10-10Flutter?Widget開發(fā)之Focus組件圖文詳解
這篇文章主要為大家介紹了Flutter?Widget開發(fā)之Focus組件圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Flutter開發(fā)之設(shè)置應(yīng)用名稱及圖標(biāo)的教程
這篇文章主要介紹了Flutter設(shè)置應(yīng)用名稱及圖標(biāo)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Android系列---JSON數(shù)據(jù)解析的實(shí)例
JSON(JavaScript Object Notation)和XML,并稱為客戶端和服務(wù)端交互解決方案的倚天劍和屠龍刀,這篇文章主要介紹了Android系列---JSON數(shù)據(jù)解析的實(shí)例,有興趣的可以了解一下。2016-11-11