如何解决当应用程序被终止时,WorkManager 应该已经在工作,还是需要附加一个前台服务? - 安卓工作室
当应用程序被杀死时,WorkManager 应该已经在工作,还是需要附加一个前台服务?如果使用 WorkManager 的应用程序被杀死并且不再工作,我没有找到解决方案,所以我认为我需要使用前台服务。这是一个好主意,还是我可以做其他更好的事情?我已经尝试了所有可能的方法。
Ps:我想让我的应用每小时设置一张壁纸,即使应用被杀死。
解决方法
WorkManager
是在系统中调度的,而不是在应用程序中,它由条件激活并运行一次。如果应用程序被终止,您的 AsyncWork
在被销毁之前有一些时间在 RUNNING 状态下完成它的工作。如果它处于 SCHEDULED 状态,系统将尽最大努力在设备处于匹配标准(例如时间、电源和网络设置)时运行它。在 proccess 中保持 AsyncWorks
短,这样 Android 就不会认为它的电池很贵并在 RUNNING 时杀死它,对于长时间运行的任务,您应该:当 AsynWork
执行时,启动一个后台进程并通知用户并尽快返回 Result.success()
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。