【開發技巧】再見,BLE的那些坑! 原

藍牙,平常你用的多嗎?

上班路上戴着藍牙耳機聽音樂、看視頻

打開藍牙分享個人熱點給小夥伴們

解鎖共享單車時,打開藍牙就能迅速解鎖

......

 

BLE—藍牙低能耗技術,方便了我們的生活,但是開發者在開發過程中卻遇到了不少坑,尤其對小白用戶來說坑真的太多了,都是安卓、iOS系統惹的禍。

 

今天給大家分享一個解決BLE那些坑的經驗,希望能幫助更多人。

 

項目中用到BLE模塊時,要注意以下問題:

 

❶ 用示例代碼安卓系統掃描藍牙設備就無法成功,而蘋果則沒問題。

 

✓ 解決辦法:將serviceUUIDs: ['', '']改爲serviceUUIDs: []即可。一次掃描不出來可以多掃描幾次。

 

❷ 安卓和蘋果的設備UUID不一樣,安卓爲xx:xx:xx:xx:xx:xx格式,蘋果爲GUID格式。

 

✓ 解決辦法:以你掃描獲取的UUID訪問設備就行了。

 

❸ 安桌和蘋果的服務UUID和服務特徵CharacteristicsUUID不一樣(服務UUID和服務特徵CharacteristicsUUID是父子關係)。

 

安卓爲GUID格式,蘋果爲短格式。兩者掃描出的服務數也不一樣,蘋果只掃描出用戶能調用的,安卓會把系統級的也掃描出來,安卓一般第3個服務是用戶能調用的。

 

✓ 解決辦法:以你掃描獲取的獲取的服務UUID的服務特徵CharacteristicsUUID訪問就行了。

 

❹ 最重要的一點,也是爲什麼調用老不對的問題。

 

✓ 解決辦法:不管你是否知道設備UUID,服務UUID,藍牙是否打開。請一定要按步驟調用:掃描設備->連接設備->獲取所有服務UUID

 

->服務UUID對應的所有服務特徵CharacteristicsUUID。這些步驟走完了,才能調用服務UUID和對應的服務特徵CharacteristicsUUID。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章