Android 定期工作请求在应用程序启动和关闭时启动和停止

sta*_*gry 5 android background-service android-asynctask android-background android-workmanager

当我的应用程序启动时,我使用WorkManager创建了一个定期工作请求,以从服务器获取数据并且其工作正常。我的问题是,我想在我的应用程序关闭时取消工作请求。

当我的应用程序关闭时如何取消工作请求或如何检测应用程序正在关闭?

我将不胜感激任何建议。

Rah*_*ana 4

正如Android 文档中提到的。

在科特林中

WorkManager.cancelWorkById(workRequest.id)
Run Code Online (Sandbox Code Playgroud)

爪哇语

WorkManager.cancelWorkById(workRequest.getId());
Run Code Online (Sandbox Code Playgroud)

您还可以使用 WorkManager.cancelAllWorkByTag(String) 按标签取消 WorkRequest。请注意,此方法会取消使用此标记的所有工作。此外,您可以使用 WorkManager.cancelUniqueWork(String) 取消具有唯一名称的所有工作。

编辑

要查看应用程序关闭事件的帮助,请检查ProcessLifecycleOwner

科特林示例

https://github.com/jshvarts/AppLifecycleDemo