Android закрывает приложение с любого экрана
Возможный дубликат:
Закройте приложение и запустите домашний экран на Android
Я разработал приложение, которое состоит из 23 экранов или макета.. Каждый макет связан с другим..
Процесс будет проходить как цепочка или дерево. Как я могу полностью закрыть свое приложение, если я был в середине любого экрана или потока в моем приложении...
Если у меня есть один экран, значит, я могу использовать finish()
метод для закрытия приложения, в этом, если я использую finish()
Метод означает, что он будет пересекать множество экранов, чтобы полностью закрыть мое приложение.
Помогите мне написать код для этой проблемы..
4 ответа
Вызов moveTaskToBack(true)
на вашеActivity
, Это будет скрывать ваше приложение, пока пользователь не захочет использовать его снова.
Но всегда предпочтительнее не выходить из всего приложения одним нажатием кнопки.
Используйте этот код, чтобы переместить ваше приложение в фоновый режим.
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);
Другими словами, это запустит домашний экран и заставит ваше приложение перейти в фоновый режим.
android.os.Process.killProcess(android.os.Process.myPid());
Это остановит ваше приложение, в то время как вышеупомянутое заставит ваше приложение жить в фоновом режиме и возобновить его с того места, где вы оставили приложение, приложение уже не было убито системой.
Попробуйте так:
android.os.Process.killProcess(android.os.Process.myPid());
Ты можешь использовать android:noHistory="true"
в вашем AndroidManifest.xml
в каждом теге активности.
<activity android:name=".Something" android:noHistory="True" />
Теперь, когда вы будете вызывать следующую деятельность через намерение. Намерение не сохранит предыдущую активность. поэтому всякий раз, когда вы нажмете назад, он закроет ваше приложение.