ALTbeacon 在 Android 模块中的使用

ALTbeacon use in Android Module

您好,我想在 Android 模块 中使用 ALTbeacon。这不是问题,ALTbeacon 是一个很棒的库。

但是:
如果 user/system 终止应用程序,它使用我的 Android 模块 我想重新生成 RangeNotifier.

我阅读了官方文档:https://altbeacon.github.io/android-beacon-library/background_launching.html

但他们使用 AndroidProximityReferenceApplication extend Application 但在 Android 模块中无法从 Application[ 扩展=16=]

有没有人解决过类似的问题?

Android 信标库将使用以下两种技术之一恢复扫描信标 even after the app gets killed

  1. 在 Android 8+ 上,它每 15 分钟使用带有持久信标 ScanJob 的 JobScheduler,即使您的应用已终止,它也会再次运行。

  2. 在 Android 4.3-7.x 上,它使用 IntentService 进行扫描,带有 START_STICKY 标志,导致 OS 重新启动如果 BeaconService 被终止,服务将自动运行。

这两种技术都没有特别要求使用 Android 应用程序 class,但它们确实需要:

(a) AndroidManifest.xml 中的相应条目。如果您正在构建自己的库,则可以将这两个相同的条目放入其清单中,使用库将在清单合并期间继承这些条目。

(b) 启动应用程序时调用某种初始化方法来启动信标扫描。为此,您可以简单地指示您的库的用户从他们自己的 Application class' onCreate 方法进行初始化调用。在此初始化调用中,您可以简单地设置一个 RegionBootrap,就好像它在应用程序 class 本身中一样。 (还有其他方法可以在应用程序启动时启动此初始化,但这是最简单的。)

我已经基于 Android Beacon 库构建了许多自定义库,这是我一直使用的技术。