Выход из приложения Android - PullRequest
9 голосов
/ 28 февраля 2011

Как закрыть приложение для Android, если в активном состоянии более одного занятия?

Ответы [ 8 ]

14 голосов
/ 28 февраля 2011

В блоге под названием Выход из приложения Android будет показано, как выйти из приложения Android:

Когда пользователь желает выйти из всех открытых действий, он должен нажать кнопку, которая загружает первое действие, которое запускается при запуске вашего приложения, в моем случае «LoginActivity».

    Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("EXIT", true);
    startActivity(intent);

Приведенный выше код очищает все действия, кроме LoginActivity. LoginActivity - это первое действие, которое возникает, когда пользователь запускает программу. Затем поместите этот код в onCreate объекта LoginActivity, чтобы указать, когда он должен самоуничтожиться при передаче сообщения «Выход».

    if (getIntent().getBooleanExtra("EXIT", false)) {
        finish();
    }
9 голосов
/ 01 марта 2011

У меня есть простое решение этой проблемы

Из упражнения, которое вы нажимаете кнопку выхода, перейдите к первому упражнению с использованием следующего исходного кода.Пожалуйста, прочтите документацию для FLAG_ACTIVITY_CLEAR_TOP также.

Intent intent = new Intent(ExitConfirmationActivity.this, FirstActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);

Теперь переопределите onResume () первого действия с использованием finish ()

2 голосов
/ 28 февраля 2011

Ну, вы не должны закрывать свои приложения, так как система управляет этим.Обратитесь к сообщениям / темам в других ответах для получения дополнительной информации.

Однако, если вы действительно, действительно хотите, вы все равно можете вызвать System.exit (0);, как и в любом другом приложении Java.

РЕДАКТИРОВАТЬ

ActivityManager actmgr = (ActivityManager) this.getSystemService (Context.ACTIVITY_SERVICE);
actmgr.restartPackage ("com.android.your.package.name");

Я кое-что вспомнил.Я пытался использовать этот код для перезапуска своего приложения, но ему удалось только убить мое приложение.Вы можете попробовать и посмотреть, работает ли он для вас.

2 голосов
/ 28 февраля 2011

Вы также можете прочитать эту ветку;по меньшей мере, очень полезно: Выход из приложения Android - не одобряется ли это?

2 голосов
/ 28 февраля 2011

Ответ прост: вам действительно не нужно «закрывать» приложение Android. Если активность больше не отображается, система завершит процесс через некоторое время. Пользователи могут закрыть действия, нажав кнопку «назад». Рето Майер объясняет это довольно хорошо здесь: http://blog.radioactiveyak.com/2010/05/when-to-include-exit-button-in-android.html

1 голос
/ 28 февраля 2011

Я задал похожий вопрос пару недель назад. Просмотрите ответы и комментарии для более перспективных и возможных решений.

IMO, выходящий из приложения, зависит от того, что делает ваше приложение, и от ожиданий пользователя. Хотя я понимаю причину отсутствия кнопки выхода, я также верю, что разработчик приложения должен сделать выбор в зависимости от ситуации.

0 голосов
/ 17 июля 2012

Если вы хотите выйти из одного действия Android, это вернет вас к предыдущему или другому занятию из определенного места в текущем действии.

finish();
System.exit(0);
0 голосов
/ 28 февраля 2011

Как только ваша последняя активность потеряет фокус, Android загрузит ваш процесс в соответствии с текущими потребностями системы / свободными ресурсами.На самом деле вам это не нужно - просто используйте жизненный цикл OnStart, OnStop и т. Д. ... для управления своим состоянием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...