- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个场景,我必须在特定时间使用 WorkManager 向用户发出通知。
我如何在特定时间安排工作,即使用户强制终止应用程序,它也应该显示。或应用未运行。
我当前的代码如下:
Data d = new Data.Builder().putInt(IntentConstants.SCHEDULE_ID, scheduleData.getScheduleID()).build();
OneTimeWorkRequest compressionWork =
new OneTimeWorkRequest.Builder(ScheduleWorker.class)
.setInputData(d)
.build();
WorkManager.getInstance().enqueue(compressionWork);
最佳答案
我想我已经找到了一个简单有效的解决方案。它 100% 有效。
我们必须以毫秒为单位获取当前时间,并需要特定时间以毫秒为单位触发它,然后您必须计算特定时间 - 当前时间。
我有我的解决方案(下面的工作代码):
Data d = new Data.Builder()
.putInt(IntentConstants.SCHEDULE_ID, scheduleData.getScheduleID())
.build();
long currentTime= System.currentTimeMillis();
long specificTimeToTrigger = c.getTimeInMillis();
long delayToPass = specificTimeToTrigger - currentTime;
OneTimeWorkRequest compressionWork =
new OneTimeWorkRequest.Builder(ScheduleWorker.class)
.setInputData(d)
.setInitialDelay(delayToPass, TimeUnit.MILLISECONDS)
.build();
WorkManager.getInstance().enqueue(compressionWork);
主要逻辑在delayToPass = currentTime (in Millis) - specificTimeToTrigger (in Millis)
关于java - 如何在特定时间排队 WorkManager OneTimeWorkRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51693827/
我们正在使用 OneTimeWorkRequest 在我们的项目中启动后台任务。 在应用程序启动时,我们将启动 OneTimeWorkRequest(比如请求 A) 根据用户的操作,我们启动相同的工作
我有一个场景,我必须在特定时间使用 WorkManager 向用户发出通知。 我如何在特定时间安排工作,即使用户强制终止应用程序,它也应该显示。或应用未运行。 我当前的代码如下: Data d = n
更新(2019 年 11 月 21 日) WorkManager.getInstance(activity).enqueueUniquePeriodicWork("test_work",
我正在学习 Kotlin WorkManager 的 Google Codelabs Android 基础知识。我曾看过以一种方式编写的代码,后来又以另一种方式查看它,想知道这两者之间是否存在根本区别
我有以下的一次性 worker 。 // Create a Constraints that defines when the task should run Constraints constrai
我的目标 当我的开关被激活时,每早上 8 点收到一个通知 当前结果 - 如果我第一次激活开关,我每次启动应用程序时都会收到通知 - 我也收到通知而无需随时启动应用程序 -另外,我在一天内收到了几条通知
我是一名优秀的程序员,十分优秀!