2016-04-10 2 views
0

Я знаю, как создать запланированное уведомление на Android с помощью службы оповещения, но теперь я хочу, чтобы сделать уведомление более частым образом.Создать напоминание для Android

Например, я хочу направить уведомление в течение 8 часов с интервалом в 20 минут. В этом случае эффективно ли использовать сигнализация или timertask будет лучшим выбором?

Независимо от того, какой метод, я хочу отменить его на полпути. Благодарю.

ответ

0

Timertask начинает новую тему и работает в ней. Поэтому, если ваше приложение будет работать в фоновом режиме, и ваше приложение будет закрыто андроидом, вы не получите никакого уведомления. AlarmManager обеспечивает доступ к системным службам сигнализации. Когда будильник отключается, намерение, которое было зарегистрировано для него, транслируется системой, автоматически запуская целевое приложение, если оно еще не запущено. (link). Таким образом, оно запустит ваше приложение, даже если оно будет закрыто. И вы должны понимать, как приложение будет работать с этими уведомлениями. Если он работает только в то время, когда пользователь работает в приложении, вы можете использовать timertask, но если он должен работать в фоновом режиме (например, вы получите уведомление, даже если пользователь не работает с телефоном/планшетом), будет лучше использовать alarmanager , Надеюсь, поможет.

+0

Oic. Если скажем, я хочу установить будильник в течение 1 часа с интервалом 5 минут, могу ли я установить его только с одним диспетчером аварийных сигналов? и как насчет отмены его? Могу ли я отменить его одновременно? – SamTew

+0

Отменить alarmmanager http://stackoverflow.com/a/3330782/2004305 И если вам нужно получить каждые 5 минут уведомления, вы можете использовать setRepeating для описания повторяющегося интервала для получения уведомления http://developer.android.com/reference /android/app/AlarmManager.html#setRepeating(int, длинные, длинные, android.app.PendingIntent) alarmMgr.setInexactRepeating (AlarmManager.ELAPSED_REALTIME_WAKEUP, FIVE_MINUTES, FIVE_MINUTES, alarmIntent); – Dima

Смежные вопросы