在服务外使用 AltBeacon BeaconManager 或 Activity

Using AltBeacon BeaconManager outside Service or Activity

当使用 RegionBootstrap 并收到您进入信标区域的呼叫时,我想订阅一个 RxJava observable,它将开始扫描特定信标并可能发送一个 API 呼叫。是否有任何理由认为 BeaconConsumer 必须在服务或 Activity 中实现,或者我可以制作一个独立的 class 来实现它,一旦连接,扫描区域内的信标,并在进程完成后解除绑定?

这里问了一个类似的问题:

基本上,BeaconConsumer 接口是为服务或 Activity 设计的,但您可以在任何类型的 class 中使用它,前提是您实现所有方法并将它们链接起来,以便它们进行等效调用在某些 Android 上下文中。无论您使用什么 class,您都需要它保存对 Android 上下文(Activity、服务、应用程序等)的引用才能执行此操作。

@Override
public Context getApplicationContext() {
    return context.getApplicationContext();
}

@Override
public void unbindService(ServiceConnection serviceConnection) {
    context.unbindService(serviceConnection);
}

@Override
public boolean bindService(Intent intent, ServiceConnection serviceConnection, int i) {
    return context.bindService(intent, serviceConnection, i);
}