当应用程序被终止时,WorkManager 是否应该已经在工作,或者它是否需要附加一个前台服务? - Android 工作室
Should WorkManager already be working when the app is killed, or does it need to have a foreground service attached? - Android Studio
当应用程序被杀死时,WorkManager 是否应该已经在工作,或者它是否需要附加一个前台服务?如果使用 WorkManager 的应用程序被终止并且不再工作,我没有找到解决方案,所以我认为我需要使用前台服务。这是个好主意,还是我可以做其他更好的事情?我已经尝试了所有可能的方法。
Ps: 我想让我的应用程序每小时设置一次壁纸,即使应用程序被杀死。
WorkManager
是在系统中安排的,不是应用程序,它是由条件和 运行 激活一次。如果应用程序被终止,您的 AsyncWork
有一些时间在 运行 状态下完成它的工作,然后被销毁。如果它处于 SCHEDULED 状态,当设备处于匹配条件(例如时间、电源和网络设置)时,系统将尽最大努力 运行 它。保持 AsyncWorks
的进程较短,这样 Android 不要认为它耗费电池并在 运行 时将其杀死,对于长时间 运行 的任务你应该:当 AsynWork
执行,启动后台进程并尽快通知用户 return Result.success()
。
当应用程序被杀死时,WorkManager 是否应该已经在工作,或者它是否需要附加一个前台服务?如果使用 WorkManager 的应用程序被终止并且不再工作,我没有找到解决方案,所以我认为我需要使用前台服务。这是个好主意,还是我可以做其他更好的事情?我已经尝试了所有可能的方法。
Ps: 我想让我的应用程序每小时设置一次壁纸,即使应用程序被杀死。
WorkManager
是在系统中安排的,不是应用程序,它是由条件和 运行 激活一次。如果应用程序被终止,您的 AsyncWork
有一些时间在 运行 状态下完成它的工作,然后被销毁。如果它处于 SCHEDULED 状态,当设备处于匹配条件(例如时间、电源和网络设置)时,系统将尽最大努力 运行 它。保持 AsyncWorks
的进程较短,这样 Android 不要认为它耗费电池并在 运行 时将其杀死,对于长时间 运行 的任务你应该:当 AsynWork
执行,启动后台进程并尽快通知用户 return Result.success()
。