我对Android Beacon Library的广告模式有问题。几个小时后,负责广告的服务将停止发送BLE数据包。
我在一个项目中工作,广告服务必须一直在智能手表(Android Wear capable Smartwatch)上运行。重要的是,应用程序不会一直对用户可见,但也可以推送到后台。如果负责的Android服务短时间停止,这并不是那么糟糕,但应该尽快重启。
如何才能做到这一点?我已经读到过关于扫描的前台服务,但它似乎不存在于广告中。
我在iBeacon广告服务中使用了以下示例代码:https://altbeacon.github.io/android-beacon-library/beacon-transmitter.html
提前谢谢你
发布于 2019-09-03 11:18:48
在Android 8+上,应用程序必须以某种形式运行,才能继续在BLE上投放广告。在安卓8+上保持应用程序运行的唯一方法是创建一个前台服务。
Android Beacon Library提供了用于扫描信标的instructions on creating a foreground service。作为一个副作用,同样的前台服务也将使发射器继续工作。
您也可以创建自己的foreground service using Android APIs.该服务甚至不需要做任何事情--它只需要保持运行,以防止您的发射器被操作系统关闭。
重要提示:华为和OPPO生产的部分中国ROM存在非标准修改,将kill foreground services unless the apps are whitelisted.
https://stackoverflow.com/questions/57753395
复制相似问题