即使手机处于锁定状态,我也想长时间运行android服务。我已经尝试过工作意向服务和工作经理,但长期无法使用。该服务应该定期调用服务器API。有什么办法吗?
您可以使用的最佳选择是Workmanager,它是Jetpack的一部分,因为它会根据api级别在后台运行Jobscheduler或Alaram管理器。现在,要在后台运行长时间运行的服务,首先需要做的是向用户显示通知,但就我而言,当设备锁定或处于睡眠模式时,通知仍在停止。因此,在这种情况下,WAKE_LOCK对我起作用是为了唤醒设备。因此,我可以查看它是否适合您的解决方案确保如果您使用唤醒锁,那么一旦完成拍摄,就不要忘记释放唤醒锁。
1)添加服务。START_STICKY
如果服务终止,将重新启动。当可用内存足以保留状态并从低内存中恢复后,它将告诉系统创建服务的最新副本。
2)添加android:persistent =“ true”
<service android:name="com.myapplication.MyService" android:persistent="true"></service>
尽管,您可以将WorkManager用于持久性作品