Как лучше всего показать уведомление в определенное время в Android?

Я работаю над приложением ToDo. Один пользователь может выбрать дату напоминания для любой задачи, и мое приложение сможет отображать уведомление на дату, которую пользователь выбрал для напоминания. Я провел исследование по этому вопросу. Я обнаружил, что могу использовать AlarmManager, PendingIntent, WorkManager и т. д. Но я не знаю, какой способ лучше. Можете ли вы дать мне представление, какой метод я должен использовать?


person Barış Sağlam    schedule 16.08.2019    source источник


Ответы (1)


Чтобы выбрать правильное решение для вашего проекта, вам необходимо подумать над следующими тремя вопросами:

Можно ли отложить работу или ее нужно выполнить немедленно? Например, если вам нужно получить какие-то данные из сети в ответ на нажатие пользователем кнопки, эта работа должна быть выполнена правильно. прочь. Однако, если вы хотите загрузить свои журналы на сервер, эту работу можно отложить, не влияя на производительность вашего приложения или ожидания пользователей.

Зависит ли работа от состояния системы? Возможно, вы захотите, чтобы ваше задание выполнялось только тогда, когда устройство соответствует определенным условиям, например подключено к источнику питания, подключено к Интернету и т. д. Например, вашему приложению может периодически требоваться сжатие сохраненных данных. Чтобы не влиять на пользователя, вы бы хотели, чтобы это задание выполнялось только тогда, когда устройство заряжается и находится в режиме ожидания.

Должно ли задание выполняться в точное время? Приложение-календарь может позволить пользователю настроить напоминание о событии в определенное время. Пользователь ожидает увидеть напоминание в нужное время. В других случаях приложению может быть все равно, когда именно выполняется задание. У приложения могут быть общие требования, например, сначала должно выполняться задание A, затем задание B, а затем задание C, но оно не требует, чтобы задания выполнялись в определенное время.

(источник)

введите здесь описание изображения

person Nikos Hidalgo    schedule 16.08.2019
comment
Это устранило сложность в моей голове. Спасибо. - person Barış Sağlam; 16.08.2019
comment
@BarışSağlam Я рад, что помог! - person Nikos Hidalgo; 16.08.2019