我已经开发了一个应用程序,需要运行一个连续的BLE扫描,因为它必须检查周围的外围设备是否正在传输。当它们中的一个或多个停止传输时,我的应用程序必须发出警报。我在一些手机上测试过:
1-三星Note 4与安卓5.1.1 2-荣誉8与安卓6.0 3- LG Nexus 5与安卓6.0.1 4-三星注4与安卓6.0.1 5-三星J5与安卓6.0.1
只有在手机4和5上,发现BLE外围设备在设备“清醒”时的行为似乎与锁定时不同。特别是,当我按下电源按钮,设备进入锁定状态时,手机就会停止发现我的外围设备--或者至少,发现是以非常低的频率触发的。当我再次按下电源按钮(通过输入引脚回到解锁模式),BLE发现再次启动并持续运行。
操作扫描的服务完全处于活动状态,并且正在运行,但它只是不执行扫描。
这种奇怪的行为只发生在手机4和5(三星与安卓6.0.1)。相同的手机与不同的android版本,相同的android版本在不同的手机上似乎没有受到影响。
我尝试过各种解决办法,但都没有成功:
有谁有过同样的问题吗?
编辑:也可以在带有Android 4.4.2的三星Note 2上进行测试
发布于 2017-02-27 22:42:41
这可能与处于低优先级状态的位置服务相关联。您可以尝试将服务提高到测试设备的高精度,并重新测试。
https://stackoverflow.com/questions/40801083
复制相似问题