Мне нужно отменить повторяющийся будильник, когда мое приложение завершает работу. Проблема в том, что у меня есть несколько действий, и, поскольку их можно убить в любое время, как я могу определить, когда завершается последнее действие, чтобы я мог вызвать свой метод отмены тревоги?
Как узнать, когда мое приложение для Android прекращает работу?
Ответы (1)
Нет 100% надежного способа. Лучшее, что вы можете сделать, это создать подкласс Application
и переопределить onTerminate()
.
person
yanchenko
schedule
30.06.2010
Конечно, нет никакой гарантии, что onTerminate() когда-либо будет вызвана. И тревоги удаляются только при перезагрузке ОС. Так что теперь я думаю, что мне лучше не использовать setRepeating() в AlarmManager. Может быть, мне лучше запланировать следующий сигнал тревоги в моем обработчике сигналов тревоги и проверить, запущено ли приложение?
- person Eno; 30.06.2010
@ Ино, я думаю, да.
AlarmManager
, скорее всего, начинает Service
, верно? Убедитесь, что это не поднимает Application
.
- person yanchenko; 30.06.2010