Подтвердить что ты не робот

Как выйти из приложения программно нажатием кнопки

Я хочу выйти из приложения с помощью нажатия кнопки.

код для нажатия кнопки

quitBtn.setOnClickListener(new View.OnClickListener() {         
    @Override
    public void onClick(View paramView) {
        // TODO Auto-generated method stub              
        MainActivity.this.finish();
    }
});

Но для выхода из приложения требуется два клика.

4b9b3361

Ответ 1

используйте этот код... надеюсь, это поможет вам.

  quitBtn.setOnClickListener(new View.OnClickListener() {         
        @Override
        public void onClick(View paramView) 
      {
            finish();          
            moveTaskToBack(true);
        }
    });

Ответ 2

используйте это, это работает для меня:

quitBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View paramView) {

                moveTaskToBack(true); 
                MainActivity.this.finish();
            }
});

Ответ 3

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

finish();
android.os.Process.killProcess(android.os.Process.myPid());

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

Если вы хотите выйти из своего приложения из другого действия, сначала вернитесь в MainActivity и выйдите из него. Чтобы вернуться назад, я использую этот код:

Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);

Это вызовет CreateChate of MainActivity. Используя статическую переменную (в контексте приложения), я устанавливаю флаг, если я хочу выйти из onCreate или нет.

Ответ 4

Что вам нужно сделать, так это finishAffinity(); закрыть каждую активную деятельность.

quitBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View paramView) {
        finishAffinity();
    }});

Ответ 5

Попробуйте, это может вам помочь.

quitBtn.setOnClickListener(new View.OnClickListener() {         
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent);
    }
});

Отредактируйте файл манифеста

<activity android:name=".HomeActivity" android:label="@string/app_title_home" android:clearTaskOnLaunch="true" />

Ответ 6

Вы можете избежать всех этих недоразумений, если только вы предоставили функцию onClick() в вашем XML файле. Он будет обрабатывать View.OnClickListener()

Прочтите ниже ссылку для получения дополнительной информации о том, как реализация XML отличается от View.OnClickListener()

Как точно отличается атрибут android: onClick XML от setOnClickListener?

Ответ 7

Чтобы завершить действие или выйти из приложения

   @Override
    public void onBackPressed() {
        this.finish();
    }