android - 应用程序被杀死时未触发 Android WorkManager 定期任务
问题描述
我的目标是每 12 小时更新一次我的应用令牌(使用网络请求),无论应用是在后台还是被杀死,所以我使用 workmanager 来解决这个问题。但是定期任务仅在应用程序处于后台或打开状态时才起作用,但是当我终止应用程序时,定期任务停止以更新我的应用程序令牌。
这是我的代码:
WorkManager mWorkManager;
mWorkManager = WorkManager.getInstance(context);
Constraints constraints = new Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.build();
PeriodicWorkRequest periodicSyncDataWork =
new PeriodicWorkRequest.Builder(AccessTokenUpdateWorker.class, 12, TimeUnit.HOURS)
.addTag("ACCESS_TOKEN_SYNC_DATA")
.setConstraints(constraints)
.setInitialDelay(5, TimeUnit.MINUTES)
// setting a backoff on case the work needs to retry
.setBackoffCriteria(BackoffPolicy.LINEAR, PeriodicWorkRequest.MIN_BACKOFF_MILLIS, TimeUnit.MILLISECONDS)
.build();
mWorkManager.enqueueUniquePeriodicWork(
"ACCESS_TOKEN_SYNC_DATA",
ExistingPeriodicWorkPolicy.KEEP, //Existing Periodic Work policy
periodicSyncDataWork //work request
);
我正在使用 workmanager 2.4.0 版本
解决方案
推荐阅读
- python - 如何从 Python 列表的末尾获取 N 个元素?N >= 零
- python - 使用 `numpy.datetime64`-objects 从列表中获取日期
- c++ - 如何访问宏中定义的数组元素
- sql - 我在 Microsoft SQL Server 中收到此错误消息有什么问题?
- python-3.x - python输出中的“ict”是什么意思?
- reactjs - WebRTC 更改用户音频输入
- javascript - 快速请求正文为空
- python - 将python数据框中的多列相互分割
- .htaccess - HTTP 到 HTTPS 重定向不适用于现有规则
- android - 如何将库发布到您的 android studio 项目?