在我的应用程序中,我需要启动一些BLE扫描,获取结果,然后在列表或网格中显示它们。
当我开始扫描时,我的设备开始根据我写的ScanFilters查找广告。
每次找到Pheriperal时,应用程序都会触发扫描回调方法,我可以将新设备添加到列表中。
如果我收到错误,应用程序会触发回调方法,我可以告诉用户有关这个问题。
示例
想象一下扫描持续了30多秒。 在它开始的那一刻我得到3 Ble Pheriperal。 在第二天,他们中的一个停止做广告并关闭蓝牙。 在扫描结束时,我的列表将有3个Ble设备,但我将无法连接到其中一个。
我怎么知道哪一个是关闭的? 我在哪里获得他的身份?
感谢您的帮助。
答案 0 :(得分:0)
您可以尝试这一点,从技术上讲,它可以根据文档。在onScanResult
回调中,检查callbackType
参数。如果是CALLBACK_TYPE_MATCH_LOST,则从results
获取设备并将其从缓存中删除。