2016-08-22 2 views
3

Я хочу выполнить BroadcastReceiver один раз в день.Расписание ежедневной тревоги после установки приложения

Scheduling an alarm when the device boots хорошо работает, но требуется перезагрузка устройства хотя бы один раз.

Как я могу запланировать будильник сразу после установки приложения (и по-прежнему продолжать планирование после перезагрузки)?

ответ

1

Как я могу планировать тревогу сразу после установки приложения

Дождитесь пользователю запустить одну из ваших действий с главного экрана, а затем планировать свой будильник на первом запуске приложения.

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

0

Для сохранения планирования после перезагрузки вы можете использовать BroadcastReceiver для обнаружения перезагрузки и повторной инициализации всех необходимых (надеюсь).

http://www.tutorialspoint.com/android/android_broadcast_receivers.htm

+0

Вот что я делаю до сих пор. Меня беспокоит планирование после установки (до перезагрузки устройства) – fiddler

1

Когда вы работаете с AlarmManager, сигнал тревоги всегда сбрасывается, когда устройство перезагружается, то у вас всегда будет повторно запланировать задачу после перезагрузки.

Итак, я настоятельно рекомендую:

  1. Используйте общие настройки для сохранения времени планировщика.
  2. Найти приемник вещания, который подходит для вашей задачи (https://developer.android.com/reference/android/content/Intent.html)

ACTION_PACKAGE_INSTALL был depreacted, вы могли бы использовать «ACTION_PACKAGE_ADDED» для обнаружения при установке пакета.

Вы можете запланировать задачу после обнаружения установки.

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

  • Нет связанных вопросов^_^