- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近尝试使用 WorkManager
的PeriodicWorkRequest
s 作为在后台定期获取用户位置更新的可靠方法。该库满足了我的要求,这个特殊的细节引起了我的注意:
Guarantees task execution, even if the app or device restarts
BOOT_COMPLETED
广播接收器在设备重新启动时触发 WorkRequest,但它不起作用。我查了很多
BOOT_COMPLETED
接收者关于 SO 的问题,但没有一个有效,除了这里:
Broadcast Receiver Not Working After Device Reboot in Android但这涉及让用户选择您的应用程序作为
AccessibilityService在我看来,这是对 UX 的阻碍。
PeriodicWorkRequest
PeriodicWorkRequest request =
new PeriodicWorkRequest.Builder(LocationListenerWorker.class,
12, HOURS)
.build();
mWorkManager.enqueueUniquePeriodicWork(Constants.LOCATION_TASK_ID,
ExistingPeriodicWorkPolicy.REPLACE, request);
最佳答案
假设您已经定义了一个 RebootWorker 类,它扩展了 Worker 并在设备重新启动后执行一些特定的工作。第一种方法:
public class RebootWorker extends Worker {
...............................
}
<service
android:name=".RebootWorker"
android:process=":worker"/>
public class MyReceiver extends BroadcastReceiver {
WorkManager mWorkManager;
PeriodicWorkRequest rebootRequest;
@Override
public void onReceive(Context context, Intent intent) {
Log.i(MainActivity.TAG, "intent.getAction(): "+intent.getAction());
//Reboot worker
mWorkManager = WorkManager.getInstance(context);
rebootRequest = new PeriodicWorkRequest.Builder(RebootWorker.class,
MainActivity.REPEAT_INTERVAL, MainActivity.TIME).build();
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
//do your work and enqueue it
mWorkManager.enqueue(rebootRequest);
}
}
}
关于android - 如何确保在 Android N 及更高版本上的设备重启时调用 PeriodicWorkRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55305619/
我将 PeriodicWorkRequest 设置为 15 分钟。但它有时重复 10 有时 17 分钟。如何设置最大几秒偏差。 val workRequest = PeriodicWorkReque
我对工作请求 (1.0.0-alpha10) 有疑问比方说,如果我想每 5 小时启动一项工作(在我的例子中是通知),我会执行以下操作 static void StartWorker(){ Period
我在研究 Android WorkManager,喜欢一个问题。 我有 2 个作品,第一个是从服务器获取一些数据,第二个是预加载资源(取决于第一个作品的结果)。我需要每小时执行一次此链。 我需要这样的
对于 OneTimeWorkRequest,我们可以使用 setInitialDelay 来指定初始延迟。 但是,PeriodicWorkRequest 没有这样的功能。 有什么可靠的方法可以实现吗?
有什么简单的方法可以改变 PeriodicWorkRequest 的重复间隔吗? 让我们有一个每 6 小时触发一次并且已经入队的 Worker,但我需要将其更改为 3 小时周期。 如果解决方案是取消请
我尝试过每 15 分钟重复一次任务,但 Worker#doWork 永远不会被调用,即使是第一次(在 Nexus 6P - Android 8 上)。但是,在 Android 8 模拟器上进行测试时,
我正在使用 androidx 工作管理器 API,在工作管理器中我使用 PeriodicWorkRequest 每 4 小时触发一次工作。但它只在运行应用程序后工作一次。 PeriodicWorkRe
由于 WorkManager 是 Google I/O 中新引入的,我正在尝试使用 workmanager 定期执行任务, 我正在做的是,使用 PeriodicWorkRequest 安排工作,如下所
在应用程序启动时,我想启动将永远有效的服务,但是当用户再次打开应用程序时,它会重复。 PeriodicWorkRequest.Builder sendDataBuilder = new Periodi
为了测试循环工作,我需要等待整整 15 分钟(reference)来测试循环,这确实效率不高。是否有更好更快的方法让开发人员更快地对此进行测试? 最佳答案 您可以在 MIN_PERIODIC_INTE
我最近尝试使用 WorkManager的PeriodicWorkRequest s 作为在后台定期获取用户位置更新的可靠方法。该库满足了我的要求,这个特殊的细节引起了我的注意: Guarantees
对于 OneTimeWorkRequest,我们可以使用 WorkContinuation 来确保如果作业已经安排好了,我们可以保留或替换它。PeriodicWorkRequest 没有这样的选项,因
我一直在尝试从 Firebase Job Dispatcher 迁移到 androidx Work Manager。我的应用程序与 Job Dispatcher 配合良好。 Work Manager
我正在尝试使用 WorkManager,但我似乎遇到了一个问题,即 PeriodicSync 仅在启动时重复一次,仅此而已。 我看过这篇文章 Is WorkManager's PeriodicWork
由于某些原因,我无法从 Android WorkManager 的PeriodicWorkRequest 获取输出数据。工作线程按预期定期运行,只是不返回任何数据。 我的主要 Activity : @
我正在尝试使用 PeriodicWorkRequest 安排定期检查。它适用于 android API 23 及更高版本,但不适用于 android API 21。在 API 21 上它只能运行一次。
我需要根据以下逻辑向用户推送应用通知。 A 类通知将每 24 小时显示一次。 B 类通知将每 7 天显示一次。 C 类通知将每 15 天显示一次。 我按如下方式使用了 PeriodicWorkRequ
我是一名优秀的程序员,十分优秀!