Я реализовал это с комбинацией HandlerThread
внутри Service
, используя removeCallbacks
из Handler
для задачи, а затем повторно postDelayed
, чтобы убедиться, что она выполняется только один раз и после того, как требуетсязадержка прошла с последнего события, все это, удерживая WakeLock
, чтобы убедиться, что устройство не переходит в спящий режим до того, как задача должна быть завершена и завершена.
Это было давно,и я хотел бы реализовать это, пользуясь встроенной поддержкой более новых компонентов Android, чтобы рассчитывать на лучшее использование батареи, чувствительность к типу сети, запуск только во время зарядки и т. д. Я предполагаю, что Android прогрессировал с тех пор, и сегодня может быть лучший вариант,например, может пригодиться новый WorkManager
.
Есть ли лучший вариант для его реализации с использованием более новых компонентов и библиотек Android, чтобы иметь меньший шаблонкод и лучшая производительность читаемости и надежности, чем то, как я реализовал его раньше?