как полностью закрыть приложение андроид

Я создал приложение для Android с возможностью выхода в onCreateOptionsMenu. Выход из системы работает отлично, но когда я снова нажимаю кнопку "назад", он переносит меня на предыдущее действие, а когда он получает нулевое значение, он перенаправляется на экран входа в систему. Теперь мой экран входа в систему появляется снова и снова. Я хочу полностью закрыть приложение, когда я нажимаю кнопку "назад", но не знаю, как это сделать.

вот мой код для обработки кнопки "Назад" нажмите на экране входа в систему:

@Override
public void onBackPressed() {
    new AlertDialog.Builder(this)
        .setTitle("BidNEMO")
        .setMessage("Are you sure you want to exit?")
        .setNegativeButton(android.R.string.no, null)
        .setPositiveButton(android.R.string.yes, new OnClickListener() {
         public void onClick(DialogInterface arg0, int arg1) {
         Main.super.onBackPressed();
         finish();
         }
         }).create().show();
     }

пожалуйста, помогите зимний сейчас..

7 ответов


до Quit Application при нажатии кнопки используйте этот код:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);

попробовать его..

чтобы убить приложение и удалить его из Runningсписок приложений убить приложение через его pid(его противный)... используйте эти строки выше кода.

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

Если вы хотите полностью закрыть приложение, вы должны использовать finishAffinity(); вместо finish() . Он очистит весь стек действий, ранее открытых приложением.


чтобы завершить действие, я использую этот код:

public void appExit () {
    this.finish();
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}  //close method

или убить процесс с помощью этого кода:

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

Для Пользователей Xamarin:

int pid = Android.OS.Process.MyPid();
Android.OS.Process.KillProcess(pid);

положите его в


для API 21 и выше

finishAndRemoveTask()

Вы можете назвать это, чтобы полностью закрыть приложение. Все мероприятия будут finish() и приложение удаляется из списка задач.


даже если это выглядит нормально, процесс убийства вызовет у вас головную боль в будущем. Вы можете убедиться в этом случае использовать:

  1. вызовите несколько действий для заполнения стека действий
  2. вызов android.ОС.Процесс.killProcess (pid);
  3. откройте приложение

наблюдать: ваше приложение открывается не из основной деятельности непоследовательным образом. Это потому, что Android считают убийство процесса, как аварии.

вы можете найти более подробную информацию здесь : выход из приложения нахмурился?


android.os.Process.killProcess(android.os.Process.myUid());

Я думаю, что это лучше. Как насчет этого ?