Какая технология Android лучше подходит для этих требований? - PullRequest
0 голосов
/ 06 января 2020

Условия:

1) Пользователь может создавать расписание для каждого дня недели.

2) Пользователь определяет только время начала работы.

3 ) С этого момента и далее задание будет выполняться каждый день в назначенное время в условиях 1 и 2

4) Задание выполняется всегда (никогда не ставится в очередь), даже при низком заряде батареи.

Вопрос: что лучше для этого?

  • AlarmManager
  • JobSchedule
  • WorkManager
  • Служба на переднем плане
  • A Служба в фоновом режиме

Ответы [ 2 ]

1 голос
/ 07 января 2020

Если требуется точное время, вам нужно будет использовать AlarmManager и управлять повторной настройкой будильника при перезагрузке устройства или принудительной остановке приложения. Ни один из других в настоящее время не подходит для работы в точное время. См. это руководство на сайте разработчиков Android для получения дополнительных рекомендаций о различиях между этими решениями.

0 голосов
/ 06 января 2020

Ваше требование (4) сложно удовлетворить, я бы сказал. С введением режима Doze и различных других мер экономии батареи, добавленных в более поздние версии Android, вы не всегда будете иметь полный контроль над ним.

Если вы настроены гибко, ваш лучший выбор:

WorkManager

Это наиболее подходящая конструкция для ваших требований и любых подобных требований. Если вы читаете документацию , в ней говорится, что WorkManager использует другие технологии таким образом, который лучше всего подходит для указания c версий Android.

Он имеет API-интерфейсы, позволяющие вам решать все другие задачи, которые соответствуют вашим требованиям и хорошо справляются с обратной совместимостью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...