我在造BLE机器人。我的应用程序扫描具有全天候后台服务的BLE设备(这对于我的应用程序是必不可少的),并将SCAN_MODE_LOW_POWER作为设置。当我找到与我的应用程序相关的设备时,我会切换到SCAN_MODE_LOW_LATENCY,因为在这一点上,我的应用程序每1秒都很重要。使用SCAN_MODE_LOW_LATENCY时,我会密集地接收ScanCallback,但在某些情况下,比如当设备处于睡眠模式时,我会密集地接收10-11个回调,然后是3-4秒的暂停,然后又是回调。
这种3-4秒的延迟/暂停对我的应用程序一点帮助都没有。
即使设备处于睡眠或打瞌睡模式,也有可能拥有密集的ScanCallback吗?
谢谢。
屏幕打开时登录:
14564-25 09:26:27.121 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:27.161 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:27.211 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:27.251 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:27.301 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
...intensive ScanCallback
14564-25 09:26:41.101 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.151 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.201 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.251 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.291 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.341 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
14564-25 09:26:41.391 05-14564/?I/TAG_ BLE : BLE onScanResult - isScreenOn :true
关闭屏幕时登录:
14564-25 09:26:50.141 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.191 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.221 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.271 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.301 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.351 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.401 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.441 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.501 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.531 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.581 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:50.631 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
->无回调5s
14564-25 09:26:55.151 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.201 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.251 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.301 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.341 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.381 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.421 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.481 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.521 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.571 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
14564-25 09:26:55.611 05-14564/?I/TAG_ BLE : BLE- isScreenOn :false
发布于 2017-06-04 13:58:15
不同的制造商使用不同的蓝牙芯片。因此,这样的行为是非常有可能的。您是否尝试过每隔一秒左右重新启动扫描?只是启动和停止它。
https://stackoverflow.com/questions/44163529
复制