Как управлять alarmManager, когда приложение убито (Android) - PullRequest
0 голосов
/ 09 марта 2011

У меня есть сигнал тревоги, который срабатывает каждые 2 минуты (когда телефон не спит) и обновляет виджет, он работает хорошо, но когда приложение убито, сигнала тревоги не осталось, поэтому он больше не работает , Что я могу сделать, чтобы справиться с этим убийством и сохранить мой будильник включенным после этого.

Если вам нужна дополнительная информация, скажите мне. Если ты не все понимаешь, скажи мне тоже.

Спасибо за ответы!

Ответы [ 2 ]

0 голосов
/ 25 сентября 2012

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

На 2.2, если я убиваю приложение в представлении Управление приложениями, мой AlarmManagerаварийные сигналы для моего приложения удаляются автоматически.

Если приложение умирает из-за исключительной ситуации, аварийный сигнал продолжает срабатывать.

0 голосов
/ 09 марта 2011

Сконфигурируйте вашу тревогу для инициализации по завершению загрузки системы (android.intent.action.BOOT_COMPLETED) или аналогичному намерению, которое является надежным.

Создайте широковещательный приемник, который использует следующее намерение

if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
{
    AlarmManager aMgr = (AlarmManager) cx.getSystemService(Context.ALARM_SERVICE);
    PendingIntent pi = PendingIntent.getBroadcast(cx, 0, new Intent(cx, ScheduleReceiver.class), 0);
    aMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, Thoth.Settings.ALARM_TRIGGER_AT_TIME, Thoth.Settings.ALARM_INTERVAL, pi);
}

ScheduleReceiver - это класс, который запускает службу, обновляющую виджет.

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