BLE Scan上報
BLE掃描的目的是為了獲取到周圍環境中的BLE裝置資訊上報給應用層apk使用,本篇就來簡單聊聊scan上報的那點事。
經過如上流程,藍芽晶片依次上報 HCI_LE_Advertising_Report 事件
應用層apk就成功接收到周圍環境中所掃描到的BLE裝置資訊,這些資料中相對而言比較重要的有如下兩種資料:
Event Types:對方BLE裝置所發廣播的型別,決定了該廣播的用途Addresses:BLE裝置的地址值在藍芽服務層GattService處理上報資料時,會再次過濾資料將符合條件的BLE裝置上報給相對應的應用apk,因此BLE掃描一般會有如下兩個地方進行過濾操作:
藍芽晶片,晶片裡有多個過濾器,因此可以同時過濾多個條件,多個過濾器是或的關係,只要符合一個過濾器的要求,則該BLE裝置資訊就會上報藍芽服務層,過濾符合單個apk的要求,並將達標的BLE裝置資訊上報給該應用Scan filter過濾器功能能夠最大程度上避免不必要的裝置資訊上報,從而只關注自己感興趣的資訊,大大提高了效率。
最新評論