Значение .setInitialDelay () в Work Manager Android перезаписывается при перезагрузке устройства - PullRequest
0 голосов
/ 06 апреля 2020

Я попытался установить будильник в android, используя диспетчер работы вместо диспетчера тревог. Но как только я перезагружаю устройство, значение переопределяется. Например:

  1. В Сценарий 1 , я установил будильник на 03:20 в 03:15, и будильник зазвонил успешно.
  2. В Сценарий 2 , я установил будильник на 03:20 в 03:15, и устройство также перезапустилось в течение 3 минут, теперь это 03:13, затем я начал ожидать, что Будильник зазвонит в 03:15, но на самом деле он зазвонил в 03:18.

Я не знаю, почему он отменяет значение по умолчанию. Пожалуйста, помогите, если кто-нибудь знает, как ее решить, заранее спасибо.

окончательный запрос OneTimeWorkRequest = новый OneTimeWorkRequest.Builder (MyWoker.class) .setInitialDelay (миллисекунды, TimeUnit.SECONDS) .build ();

 WorkManager.getInstance().enqueue(request);
 WorkManager.getInstance().getWorkInfoByIdLiveData(request.getId())
     .observe(MainActivity.this, new Observer<WorkInfo>() {
     @Override
     public void onChanged(WorkInfo workInfo) {
        tvAlarmTime.setText(workInfo.getState().name());
     }
 });
...