当Android 4.4设备进入待机模式时如何恢复后台服务?



据观察,当android 4.4设备进入睡眠/待机模式时,应用程序后台服务将被Android系统强制停止。

我尝试了以下方法:

  1. 开始与START_STICKY一起提供服务
  2. 将服务作为前台服务
  3. 使用的工作管理器

但到目前为止没有任何效果。请建议是否可以检查任何其他选项。

为了将应用置于前台,必须从另一个上下文(ServiceBroadcastReceiver(调用startActivity()。仅从活动中调用startActivity()不会将应用置于前台。

您不需要Intent中的ACTIONCATEGORY,但确实需要设置Intent.FLAG_ACTIVITY_NEW_TASK

您是否尝试过在后台服务中使用唤醒锁。

从文档:

如果您需要保持 CPU 运行以完成一些工作 在设备进入睡眠状态之前,您可以使用电源管理器系统 称为唤醒锁的服务功能。唤醒锁允许应用。 以控制主机设备的电源状态。

注意:使用唤醒锁会导致电池耗尽,请通过 文档并使用替代方法,例如工作管理器(如果这有效( 可以推迟。

引用:

https://developer.android.com/training/scheduling/wakelock

https://developer.android.com/reference/android/os/PowerManager.WakeLock.html

最新更新