Когда активность моего приложения идет в фоновом режиме с помощью кнопки «Домой» или «Назад», некоторые коды прослушивателя, такие как 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 мса +, чтобы проверить, если он по-прежнему приостановлен
Вы должны разрегистрировать слушатель в '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