Я ищу способ аккуратно завершить работу моих служб Android. Они должны бежать, пока есть хотя бы одно из моих занятий.
Есть ли способ получить событие, когда уничтожается все приложение, а не только одно действие? Таким образом было бы легко справиться с отключением сервисов. Но я не нашел таких намерений или событий.
Итак, я подумал о двух возможностях справиться с этим, но они кажутся мне немного странными:
Написать сервис, который считает открытые и закрытые действия. Чтобы реализовать это, мне нужно было бы добавить вызовы уведомлений ActivityStarted и ActivityClosed в методах onPause и onCreate. Когда каждое действие приостанавливается или уничтожается, моя служба наблюдения останавливает запущенные службы и, в конечном итоге, сама.
Используйте БД, чтобы записать счет действий при вызове onPause или onCreate. Первое действие, которое замечает на своем onPause, что нет никаких других действий, запускает процедуру завершения службы.
Что бы вы сделали?