Я пишу приложение для Android и хочу удалить пользователя из массива, когда он выйдет из приложения. Я пробовал использовать метод onStop()
, но он не работает, как мне хотелось бы, потому что всякий раз, когда изменяется действие, пользователь удаляется из массива.
Мне нужен способ выполнить метод, когда пользователь удалил приложение из «недавних действий». Есть предложения по этому поводу?
2 ответа
Вы можете отслеживать клавишу возврата, поэтому, когда пользователь нажимает ее для выхода из приложения, вы делаете то, что хотите.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
//YOUR CODE HERE
finish(); //<<<------MUST BE USED SO THAT THE BUTTON WILL ACTUALLY FINISH THE APP
}
return super.onKeyDown(keyCode, event);
}
В противном случае вы можете попробовать метод onPause () вместо onStop. Android не рекомендует использовать onStop для сохранения данных и т. Д. Я думаю, что лучше всего использовать клавишу возврата.
onPause()
, так как пользователь может получить звонок или случайно нажать кнопку домой, поэтому я не хочу, чтобы приложение выбрасывало его из игры. А как насчет удаления приложения из «недавних действий»? Если пользователь удаляет приложение из «недавних действий», как я могу выполнить метод до того, как он закроет приложение?
Мне нужен способ выполнить метод, когда пользователь удалил приложение из "недавних действий"
Когда вы проводите пальцем по приложению из списка, оно фактически просто останавливает все службы приложения (а не само приложение!). Вы можете подумать о создании службы только для этой цели, чтобы, когда служба была убита, вы получали уведомление через onTaskRemoved.
Вы можете прочитать еще здесь
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.
onDestroy()
?onDestroy()
.