Как узнать, когда мое приложение для Android прекращает работу?

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


person Eno    schedule 30.06.2010    source источник


Ответы (1)


Нет 100% надежного способа. Лучшее, что вы можете сделать, это создать подкласс Application и переопределить onTerminate().

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