[已经观察到,当Android 4.4设备进入sleep / standby模式时,Android System会强制停止应用程序后台服务。
我尝试过以下事情:
但是到目前为止,没有任何效果。请建议是否可以检查其他选项。
您是否尝试过在后台服务中使用唤醒锁。
从文档中:
如果需要保持CPU正常运行以完成某些工作,在设备进入睡眠状态之前,您可以使用PowerManager系统服务功能称为唤醒锁。唤醒锁允许您的应用程序以控制主机设备的电源状态。
注意:使用唤醒锁会导致电池电量耗尽,请检查文档并使用其他替代方法(例如WorkManager)(如果可以的话)可以推迟。
参考:
https://developer.android.com/training/scheduling/wakelock
https://developer.android.com/reference/android/os/PowerManager.WakeLock.html
为了使您的应用程序成为前台,您必须从另一个上下文(startActivity()
或Service
)调用BroadcastReceiver
。仅从Activity中调用startActivity()
不会使您的应用程序成为前台。
ACTION
中不需要CATEGORY
和Intent
,但是您需要设置Intent.FLAG_ACTIVITY_NEW_TASK
。
您将在stop()方法中恢复服务。