Android Ble,Pheriperal在扫描期间发布广告状态

时间:2017-03-09 09:29:05

标签: android bluetooth bluetooth-lowenergy

在我的应用程序中,我需要启动一些BLE扫描,获取结果,然后在列表或网格中显示它们。

当我开始扫描时,我的设备开始根据我写的ScanFilters查找广告。

每次找到Pheriperal时,应用程序都会触发扫描回调方法,我可以将新设备添加到列表中。

如果我收到错误,应用程序会触发回调方法,我可以告诉用户有关这个问题。

示例

想象一下扫描持续了30多秒。 在它开始的那一刻我得到3 Ble Pheriperal。 在第二天,他们中的一个停止做广告并关闭蓝牙。 在扫描结束时,我的列表将有3个Ble设备,但我将无法连接到其中一个。

我怎么知道哪一个是关闭的? 我在哪里获得他的身份?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试这一点,从技术上讲,它可以根据文档。在onScanResult回调中,检查callbackType参数。如果是CALLBACK_TYPE_MATCH_LOST,则从results获取设备并将其从缓存中删除。