0

我正在构建一个需要与外围设备进行持续蓝牙(经典)通信的 Android 应用程序。只要应用程序在前台运行,一切都很好。但是当应用程序被置于后台时,系统会在不确定的时间后终止应用程序。该应用程序可以在那里挂起 2 到 15 分钟。即使应用程序没有任何电池优化,也会发生这种情况。我希望通过关闭电池优化,它可以防止 Android 将应用程序置于待机模式/杀死它。

如果应用程序在设备使用电池运行时无法永远运行,那么人们可以期望应用程序在后台存在多长时间?

我希望应用程序在后台存在的持续时间是可确定的!我感谢任何关于此事的帮助。

在运行 Android 8.1.0 的摩托罗拉 G5S Plus 上测试

清单文件已打开 background_running: <meta-data android:name="android.app.background_running" android:value="true"/>

应用的目标 SDK 是 API 29:Android 10

4

1 回答 1

0

您需要使用 WakeLock/Foreground Service 实现后台服务,在服务中您需要编写所有要在后台运行的蓝牙代码,您在服务中的活动/片段位置编写的代码,蓝牙回调需要实现广播接收器。

于 2020-10-21T13:49:11.367 回答