ALTbeacon在Android模块中使用

问题描述 投票:0回答:1

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

然而: 如果用户/系统终止使用我的Android模块的应用程序,我想重新生成RangeNotifier

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

但他们使用AndroidProximityReferenceApplication扩展Application,但在Android模块中,不可能从Application扩展

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

android module altbeacon
1个回答
0
投票

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

  1. 在Android 8+上,即使你的应用程序被终止,它也会每15分钟使用一次持久信标ScanJob的JobScheduler。
  2. 在Android 4.3-7.x上,它使用IntentService进行扫描,其中START_STICKY标志会导致操作系统在BeaconService被终止时自动重新启动服务。

这两种技术都没有特别要求使用Android Application类,但它们确实需要:

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.