Как вызвать событие, когда приложение удалено из списка последних в Android - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу перезапустить свое приложение, когда оно будет удалено из недавнего списка.Я добавил код перезапуска в методе onDestroy().Он отлично работает в Android 7 и выше.Но на Android 6 и более старых версиях он не работает.onDestroy() метод вызывается только при нажатии кнопки назад.

1 Ответ

0 голосов
/ 07 февраля 2019

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

Примечание: не рассчитывайте, что этот метод будет вызываться как место для сохранения данных!Например, если действие редактирует данные в поставщике контента, эти изменения должны быть зафиксированы либо в onPause (), либо в onSaveInstanceState (Bundle), а не здесь.Этот метод обычно реализуется для освобождения ресурсов, таких как потоки, которые связаны с действием, так что уничтоженное действие не оставляет таких вещей, пока остальная часть его приложения все еще работает.Существуют ситуации, когда система просто убивает процесс хостинга действия, не вызывая этот метод (или любой другой) в нем, поэтому его не следует использовать для выполнения действий, которые должны остаться после завершения процесса.

Но есть обходной путь.

Посетите ЭТОТ ответ StackOverflow , если вы хотите обработать событие убийства задачи в APIуровень ниже 26. Это будет работать наверняка.

...