在最新版本的android上,我需要在后台不断进行操作。 我使用过服务,但在上一个版本的android系统(如oreo)中,有8个服务已被杀死。
由于应用程序的特性,我不能使用前台服务。
如何使我的服务继续运行?
请帮助我解决此问题。谢谢。
答案 0 :(得分:0)
尝试使用Worker。只需请求定期工作(不少于15分钟)以检查Service是否正在运行-如果没有运行,请重新启动。
There是文档。
如果您需要更快地运行它,则在15分钟后。您可以使用2个工作人员(oneTimeWorkRequest)进行相互调用。
此外,我发现某些设备(例如HUAWEI)具有称为“功耗密集型应用程序监视器”的功能。除非用户为其授予特殊权限,否则它将杀死长时间在后台运行的每个应用程序。执行此操作的路径:设置->电池->设置->取消选中:耗电的提示。
我不知道有没有办法以编程方式执行此操作。我认为最好的方法是创建一种帮助活动,并在应用程序无法正常工作时向用户说明如何做。