Версия Android: 8.1.0
Устройство: Infinix X604B
Workmanager: 1.0.0-alpha11 (последняя версия)
Запланирован запуск PeriodicWorkRequest после каждых 15минут.Рабочий запрос выполняется через каждые 15 минут в течение примерно одного часа.Тогда PeriodicWorkRequest перестает работать.За 8 часов фоновая работа вообще не запланирована.Я не убил свое приложение, оно на заднем плане.
Когда я возвращаю приложение на передний план, PeriodicWorkRequest снова запускает фоновую задачу.С аналогичным опытом нет повторений после того, как я поместил свое приложение в фоновом режиме.
Я отключил оптимизацию батареи для своего приложения.
Вот пример класса My Worker.
class TestWorker extends Worker {
public TestWorker(
@NonNull Context context,
@NonNull WorkerParameters params) {
super(context, params);
}
@NonNull
@Override
public Result doWork() {
// Adding timestamp of background execution to firestore.
Map<String, String> value = new TreeMap<>();
SimpleDateFormat df = new SimpleDateFormat("hh:mm");
String dateFormat = df.format(Calendar.getInstance().getTime());
value.put("time", dateFormat);
FirebaseFirestore.getInstance()
.collection("my-collection")
.add(value);
return Result.SUCCESS;
}
}
Вот как я это называю:
PeriodicWorkRequest.Builder testBuilder =
new PeriodicWorkRequest.Builder(TestWorker.class, 15,
TimeUnit.MINUTES);
PeriodicWorkRequest testWork = testBuilder.build();
WorkManager.getInstance().enqueue(testWork);