我使用POJO作为BootStrapNotifier而不是Application类。 POJO参考了上下文。背景检测会以这种方式开始吗? 当应用程序处于前台时,我也将此类用作MonitorNotifier。 是否必须在参考应用程序中显示的同一个类中使用BootStrapNotifier和RangeNotifier? 这是正确的方法吗?如果应用程序被终止,只有在连接或断开电源或重新启动电源时才会启动信标检测?
答案 0 :(得分:1)
是的,可以使用POJO从RegionBootsrap接收回调,但您仍然必须使用Android onCreate
类的Application
方法来构造此POJO并进行设置。
需要Application
类,因为它的onCreate
方法是Android应用程序启动时执行的第一个用户可执行代码。 Android Beacon Library的RegionBootstrap
有效,因为该库设置了一个广播接收器,用于查找BOOT_COMPLETED
,ACTION_POWER_CONNECTED
和ACTION_POWER_DISCONNECTED
个事件。此广播接收器不会做太多,但如果在其中一个事件发生时应用程序未运行,则会导致Application
类“onCreate
方法执行。此时创建RegionBootstrap
会导致信标扫描在后台启动,然后在感兴趣的信标到达时通知用户代码。
下面的代码显示了如何设置一个名为MyPojo
的POJO来接收来自RegionBootstrap的回调,并在Application
的{{1}}方法中注册该POJO。 onCreate
的第一个参数是在检测到信标时将接收回调的类。
你可以使用这样的POJO来设置测距或做任何你想做的事情 - 没有理由这样的代码必须驻留在Android RegionBootstrap
类中。
Application