Android 每次检测到信标信号时自动启动应用信标
我遵循这个参考,我想知道Android 每次检测到信标信号时自动启动应用信标,android,bluetooth,bluetooth-lowenergy,ibeacon,android-bluetooth,Android,Bluetooth,Bluetooth Lowenergy,Ibeacon,Android Bluetooth,我遵循这个参考,我想知道 每次当我进入信标区域或者我已经在信标区域并且我的设备检测到信标信号时,都可以启动我的应用程序。因为现在boostrapnotifier类还记得电源连接更改时的情况 2.我可以定义信标区域的半径,例如5米。因为现在半径对于我的用例来说太宽了 一般来说,这是可能的,是的 RegionBootstrap类设计用于在后台自动启动应用程序以扫描信标,并在您进入/退出信标区域时发送回调。由于操作系统可能会关闭你的应用程序以节省内存,因此该库旨在重新启动应用程序,以便其后台扫描服务可
2.我可以定义信标区域的半径,例如5米。因为现在半径对于我的用例来说太宽了 一般来说,这是可能的,是的
RegionBootstrap
类设计用于在后台自动启动应用程序以扫描信标,并在您进入/退出信标区域时发送回调。由于操作系统可能会关闭你的应用程序以节省内存,因此该库旨在重新启动应用程序,以便其后台扫描服务可以在以下几种情况下继续运行:
AlarmManager被杀死后5分钟内
虽然您不能定义
区域的半径,但您可以添加执行类似操作的过滤逻辑。
一旦您得到didEnterRegion
的回调,就开始在该区域中定位信标。在测距回调中,如果您看到beacon.getDistance()<5.0
,您可以执行您希望在信标距离小于5米时发生的逻辑。您可以通过实现并检查它是否对您有效来回答所有这一切:)doc说这是操作系统的限制。这个问题我已经坚持了两天,并且找到了解决的方法。非常感谢你的回答。我更了解库的工作原理和操作系统的限制。我将尝试应用我的应用程序。如果我创建broadcastreceiver类以在蓝牙打开时查找蓝牙状态,如何在onReceive方法中启动扫描如果您按照示例在应用程序类中设置RegionBootstrap,这将是自动的。当应用程序启动时,库将开始尝试扫描,如果蓝牙关闭,它将无法进行扫描。一旦打开,它将自动开始扫描。