保持android服务长时间运行

问题描述 投票:0回答:2

即使手机处于锁定状态,我也想长时间运行android服务。我已经尝试过工作意向服务和工作经理,但长期无法使用。该服务应该定期调用服务器API。有什么办法吗?

java android android-service
2个回答
1
投票

您可以使用的最佳选择是Workmanager,它是Jetpack的一部分,因为它会根据api级别在后台运行Jobscheduler或Alaram管理器。现在,要在后台运行长时间运行的服务,首先需要做的是向用户显示通知,但就我而言,当设备锁定或处于睡眠模式时,通知仍在停止。因此,在这种情况下,WAKE_LOCK对我起作用是为了唤醒设备。因此,我可以查看它是否适合您的解决方案确保如果您使用唤醒锁,那么一旦完成拍摄,就不要忘记释放唤醒锁。


0
投票

1)添加服务。START_STICKY

如果服务终止,将重新启动。当可用内存足以保留状态并从低内存中恢复后,它将告诉系统创建服务的最新副本。

2)添加android:persistent =“ true”

<service android:name="com.myapplication.MyService" android:persistent="true"></service>

尽管,您可以将WorkManager用于持久性作品

© www.soinside.com 2019 - 2024. All rights reserved.