Когда активность моего приложения идет в фоновом режиме с помощью кнопки «Домой» или «Назад», некоторые коды прослушивателя, такие как requestLocationUpdates или потоки, все еще запущены, Почему?Коды все еще запущены, когда нажата кнопка «Назад» или «Домой», Android
ответ
Вы можете реализовать эту методу два обратных вызова в классе (где активность удлиняется) и написать код для обработки исполнения, когда активность скрывает и при нажатии кнопки назад (или какая-либо другая кнопка) нажимаются
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
/*code to handle when back button is pressed*/
}
else if (keyCode == KeyEvent.KEYCODE_HOME) {
/*code to handle when HOME sbutton is pressed*/
}
return false;
}
@Override
protected void onPause() {
/*code to handle when activity goes in background and becomes inactive*/
super.onPause();
}
Добавить код для приостановки местоположения при вызове метода onpause. вот что я использую. locationManager
является объектом LocationManager
@Override
protected void onPause() {
if(locationManager != null){
locationManager.removeUpdates(GPSTracker.this);
}
super.onPause();
}
О проблеме с Threads:
всегда есть цикл в методе выполнения 5HE, который вы контролируете через логическое значение, как, например, isRunning и внутренняя петля, которая находится под контролем! IsPaused для exmpl
Если вы хотите, чтобы «сделать паузу» нити так просто набор isPaused истины, и если вы хотите, чтобы убить его установить isRunning ложь (от isPaused истины)
в бегущей петле пусть сон нити для 100мса, так что он просыпается через каждый 100 мса +, чтобы проверить, если он по-прежнему приостановлен
- 1. Android - Как поймать, что нажата кнопка «Домой»?
- 2. Android-приложение - это FC, когда нажата кнопка «Назад» или «Главная»
- 3. имитации, когда кнопка назад нажата
- 4. Сохранить, когда нажата кнопка «Назад»
- 5. Как узнать, когда нажата кнопка «Домой»?
- 6. Восстановление исходной активности, как есть (например, кнопка «домой»), когда нажата кнопка «Назад»
- 7. Приложение для Android Перезагружено, когда нажата кнопка «домой»
- 8. Активность в фоновом режиме убивается, когда нажата кнопка «Домой»
- 9. Android, Как закрыть приложение, когда нажата кнопка «Назад назад»?
- 10. onDestroy() вызывается, когда нажата кнопка «Назад»
- 11. Я пытаюсь очистить свой обратный отсчет, когда нажата кнопка «домой»
- 12. Очистка содержимого таблицы, когда нажата кнопка назад
- 13. Обнаружить, когда нажата кнопка «Назад к приложению»
- 14. Обнаруживать/предупреждать, когда нажата кнопка «Назад»
- 15. Яркость не сохраняется, когда нажата кнопка «Назад»
- 16. Когда нажата кнопка назад, я получил Force Close в Android
- 17. Как продолжить работу приложения Android, даже когда нажата кнопка «Назад»
- 18. Как определить, когда нажата кнопка «Назад» на макете действий Android?
- 19. Как продолжать работу с IntentService, даже когда нажата кнопка «Домой»
- 20. Игра не начинается снова, когда кнопка «Домой» нажата один раз.
- 21. Кнопка «домой домой» не сохраняет данные
- 22. Кнопка «Назад» -> эмуляция кнопки «домой»
- 23. Как определить, была ли нажата кнопка «Назад» или кнопка «Вперед»?
- 24. Вызов popToRootViewControllerAnimated: нажата кнопка «назад»
- 25. Когда кнопка «нажата»?
- 26. Кнопка в фрагменте Android все еще видна
- 27. FragmentActivity закрывается, когда кнопка нажата назад от его фрагмента
- 28. Слушайте, когда нажата кнопка
- 29. -Android кнопка домой аварии приложение
- 30. Когда кнопка нажата +1
Вы должны разрегистрировать слушатель в 'OnPause()' дублировании для деятельности. Для получения дополнительной информации об общем вопросе, о котором вы спрашиваете, прочтите следующее: http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon –
Как сказал Даниэль, у вас будет для понимания жизненного цикла активности Android. Подробнее об этом здесь: http://developer.android.com/training/basics/activity-lifecycle/index.html – Mauker