观察到当安卓4.4设备进入睡眠/待机模式时,应用程序的后台服务会被安卓系统强制停止。
我尝试了以下方法:
- 使用START_STICKY启动服务
- 将服务设置为前台服务
- 使用Work Manager
但是目前还没有任何作用。请建议是否可以检查其他选项。
startActivity()
。仅从活动内部调用startActivity()
不会将您的应用程序置于前台。Intent
中,您不需要ACTION
和CATEGORY
,但需要设置Intent.FLAG_ACTIVITY_NEW_TASK
。你是否尝试在后台服务中使用唤醒锁。
来自文档:
如果您需要在设备进入睡眠状态之前保持CPU运行以完成某些工作,则可以使用PowerManager系统服务功能称为唤醒锁。唤醒锁允许您的应用程序控制主机设备的电源状态。
注意:使用唤醒锁会导致电池耗电,请查阅文档并使用其他替代方案,例如WorkManager,如果此工作可以延迟处理。
参考资料:
https://developer.android.com/training/scheduling/wakelock
https://developer.android.com/reference/android/os/PowerManager.WakeLock.html