我正在开发一款Android应用程序,用于扫描蓝牙信标,以便在室内场所远离用户。当设备处于打盹模式时,应用程序不会扫描,因此无法检测到信标。我想设置一个警报(AlarmManager),每隔5秒或更短时间重复一次,重启蓝牙服务和信标扫描仪。
我不确定如何设置它以及AlarmManager是否是最佳选择,因为在打盹模式下这些类型的警报只能通过setAndAllowWhileIdle()和setExactAndAllowWhileIdle()方法每9分钟激活一次。 / p>
我的应用程序适用于Android版本< = 6.0.0,所以我认为打盹模式是问题所在。
当我的应用处于打盹模式时,AlarmManager是否是重启蓝牙服务的好选择?如何设置重复警报来解决此问题?
我已经测试了其他选项,如Runnable,每5秒调用一次蓝牙扫描回拨,但几分钟后我的应用程序锁定和蓝牙扫描回调不会返回任何信标,即使Runnable正常工作。