Я только что разрешил подобный вопрос.
Вот что вы можете сделать, если его просто остановить службу, когда приложение убито, прокручивая из списка последних приложений.
Внутри ваш файл манифеста, сохраните флаг stopWithTask
как true
для Службы. Например:
Но, как вы говорите, вы хотите отменить регистрацию слушателей и прекратить уведомление и т. Д., Я бы предложил такой подход:
stopWithTask
как false
для Службы. Например:
MyService
, переопределите метод onTaskRemoved
. (Это будет запущено, только если для параметра stopWithTask
установлено значение false
). public void onTaskRemoved(Intent rootIntent) {
//unregister listeners
//do any other cleanup if required
//stop service
stopSelf();
}
Для получения дополнительной информации см. мой вопрос , в котором содержится и другая часть кода.
Надеюсь, что это поможет.