android - 如何使用工作管理器在 android 中运行定期工作请求
问题描述
我在我的应用程序中实现了以下代码,但没有在特定时间执行。我想在应用程序处于后台时每隔 1 分钟运行一次任务。
WorkManager workManager = WorkManager.getInstance();
List<WorkStatus> value = workManager.getStatusesByTag(CALL_INFO_WORKER).getValue();
if (value == null) {
PeriodicWorkRequest callDataRequest1 = new PeriodicWorkRequest.Builder(CallInfoWorker.class,10,TimeUnit.SECONDS,3, TimeUnit.SECONDS).build();
workManager.enqueue(callDataRequest1);
}
解决方案
首先,如此频繁地执行某些任务并不是一个好主意。定期请求的第二个最小间隔约为 15 分钟。
即使您找到一些解决方法来频繁执行任务,它也不会在限制后台执行的 Android O 上工作
推荐阅读
- android - 输入类型=范围滑动行为在 Android 上的 Chrome 中被破坏
- macos - 如何知道某个系统包头属于哪个 MacOS 版本?
- sql - Oracle 存在节点有效载荷搜索
- c - 从 C 回调创建一维数字 lua 表
- rust - 调用 Option::map 后如何使用值?
- php - WP 简码忽略传递的值
- algorithm - 建议纠正错误输入的算法?
- typescript - 如何将 Firestore DocumentReferences 数组映射到 DocumentData 数组?
- python - 有没有办法使用 xlwings API 在 excel 中命名一个范围?尝试使用引用 excel 定义范围的字符串公式
- javascript - 当我在页面上向下滚动时,即使我的鼠标在滚动后处于不同的位置,也不会触发 Eventlistener 'mousemove'