Я хочу сделать задержку, которая является разницей между 12:00 и текущим временем, с помощью WorkManager, она работает, только если я добавляю количество минут, но полностью не работает, если я добавляю разницу между 12:00 и текущим временем.
MyWorkManager. java
@NonNull
@Override
public Result doWork() {
//my code here working good
return Result.success();
}
Home. java
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long howMany = (c.getTimeInMillis()-System.currentTimeMillis());
long howManyInMinutes = (howMany / 1000) /60;
PeriodicWorkRequest addNote =
new PeriodicWorkRequest.Builder(AddNoteWorkManager.class, 16, TimeUnit.MINUTES).setInitialDelay(howManyInMinutes,TimeUnit.MINUTES)
.build();
WorkManager.getInstance(this).enqueueUniquePeriodicWork("addNote", ExistingPeriodicWorkPolicy.KEEP, addNote);