Я ищу способ выйти из моего приложения для Android по коду.
Да, я знаю, я не должен был делать это, потому что Android обрабатывает это, когда вы нажимаете кнопку «Назад», но у меня есть настроенный поток, который заставляет меня реализовать это. Я уже некоторое время искал и нашел несколько ответов:
- Это не должно быть сделано => Нет варианта.
- Вызвать финиш () в моей деятельности => Только для 1 действия, а не для всего приложения.
- Начать Намерение к первому действию со специальным флагом => У меня есть несколько точек входа, поэтому на самом деле не вариант.
- Просто убейте мой собственный процесс => Не уверен насчет этого, вызовет ли это метод onDestroy () во всех действиях? И будут ли мои фоновые службы продолжать работать с этим? (Который не должен быть остановлен)
Так что мне интересно, есть ли другой способ выйти из моего приложения, или я действительно ограничен этими опциями?
Если на самом деле другого варианта нет, то я подумывал создать список всех экземпляров моих действий в моем классе Application, а затем просто зациклить их, чтобы вызвать final () для них. Но я не знаю, будет ли это правильным способом справиться с этим.
Так вот почему я задаю свой вопрос здесь, какой лучший способ закрыть мое приложение?
Редактировать: Я более или менее исправил проблему. У меня есть список слабых ссылок моей деятельности. В каждом onCreate я добавляю активность в список. Затем, когда я хочу выйти из приложения, я просто зацикливаю список и вызываю finish (). Проблема в том, что: если список станет слишком большим, он не завершит все мои действия, так как Android уже уничтожил их. Поэтому каждый раз, когда я точно знаю, что они мне больше не нужны, я заканчиваю их. В моем случае список не может превышать 3/4, поэтому больше не нужно беспокоиться о том, что действия не будут завершены. Также с этим методом мне не нужно разрушать мой собственный процесс.