Я сделал приложение в Android. Это приложение, связанное с таймером. Теперь я много пытался поместить управление на кнопку «Назад» на устройстве Android, чтобы при ее нажатии процесс должен быть убит и напрямую отображать главное меню ... Пожалуйста помогите мне... Заранее спасибо..!
Как убить процесс, нажав кнопку «Назад» в Android?
Ответы (8)
Попробуйте этот код
@Override
public void onBackPressed() {
yourActivity.this.finish;
}
переопределите onBackPressed()
в своей деятельности и добавьте туда необходимые коды
Вызывается, когда активность обнаружила нажатие пользователем клавиши «Назад». Реализация по умолчанию просто завершает текущую активность, но вы можете переопределить это, чтобы делать все, что хотите.
вы можете сделать так: нажмите кнопку "Назад".
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();// call finish() on click of back button
}
return super.onKeyDown(keyCode, event);
}
например: при переходе от действия A к действию B с помощью startActivity(newintent(...)); не завершайте и не убивайте действие A, оно останется в стеке.So when you click on back button in B activity you can go back to A activity, which is already in stack.
когда вы хотите вернуться в главное меню, вызывайте finish() для каждого действия при переходе к следующему действию.
например: при переходе от действия A к действию B с помощью startActivity(newintent(...)); вызовите finish()
, чтобы убить действие A.So when you click on back button in B activity you can go back to Main Menu coz every activity ll be killed.
фрагмент здесь:
startActivity(new intent(A.this, B.class));
finish(); // when you click back button on B activity, directly you can go to main menu
Обновлено: Другой способ убить приложение, используя приведенный ниже код при нажатии кнопки «Назад». Но не рекомендуется
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
android.os.Process.killProcess(android.os.Process.myPid());// Kill the app on click of back button.
}
return super.onKeyDown(keyCode, event);
}
надеюсь, что это может помочь вам понять концепцию.
Просто очистите историю активности, чтобы ваше приложение закрылось. И вызовите finsh();
послеstartActivity();
<activity
android:name="com.example.abcd.Your_Acitivty"
android:noHistory="true">
</activity>
Удачного кодирования!
хорошо Джимми, вы можете использовать этот код, чтобы перейти на главный экран вашего устройства-
finish();
moveTaskToBack(true);
System.exit(0);
Метод finish() закрывает только текущую активность.
moveTasktoBack скроет ваше приложение, и вы также можете быстро закрыть приложение с помощью android.os.Process.killProcess(android.os.Process.myPid()), если хотите.
В манифесте вы можете попробовать добавить это
<activity
android:name=".MainActivity"
android:finishOnCloseSystemDialogs="true"
</activity>
У меня была аналогичная проблема, и это решило ее для меня.
Я решил это, переопределив onBackPress() и onStop()
@Override
protected void onStop() {
super.onStop();
System.exit(0); //kill the app
}
@Override
public void onBackPressed() { //here I capture the event onBackPress
super.onBackPressed();
onStop(); //call onStop
}