System.exit (0) no cierra todas mis actividades?

Tengo 2 actividades, por lo que la actividad 1 va a la actividad 2 y luego a la actividad 2 Tengo un botón de salida. Pero cuando hago clic en él, todo solo sale de la actividad número 2 y vuelve a la actividad 1 nuevamente. Es básicamente como si hubiera empezado la aplicación nuevamente. No estoy seguro ¿por qué?

Este es mi código

Button btExit = (Button) findViewById(R.id.btExit); btExit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); System.exit(0); } }); 

 System.exit(0); 

es una mala forma de finalización de las aplicaciones de Android. Android lo administra en su propio sistema operativo

Puede abrir la aplicación Inicio por su intención correspondiente:

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

espero que esto ayude

EDITAR: –

Entonces supongo que pretendes terminar toda la actividad astackda …

Aquí está :-

Cerrar todas las actividades anteriores de la siguiente manera:

 Intent intent = new Intent(this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("Exit me", true); startActivity(intent); finish(); 

Luego, en el método MainActivity onCreate() , agregue esto para finalizar la actividad principal.

 if( getIntent().getBooleanExtra("Exit me", false)){ finish(); } 

El resultado será el mismo que el anterior, pero debido a que todas las actividades astackdas están cerradas, cuando regreses a tu aplicación, debe comenzar desde tu actividad principal, es decir, la actividad del iniciador.

Espero que esto ayude.

No use System.exit .

Si desea que el usuario cierre la aplicación desde cualquier Activity , sugiero usar startActivityForResult , verificando el valor devuelto en onActivityResult en la primera Activity y finish() llamada finish() allí también.

También puedes simular presionando el botón de inicio:

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

pero esto no cerrará la aplicación

para cerrarlo , puedes hacer como https://stackoverflow.com/a/9735524/1434631

use finish () y una bandera sharedPreference y configure la bandera cuando haga clic en el botón. en su otra actividad, revise la bandera y termínela () si la bandera está configurada

Termine la primera actividad llamando a finish(); en el botón después de pasar el bash para comenzar la siguiente actividad.

System.exit (0) no funciona para cerrar la aplicación

  ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); am.killBackgroundProcesses("com.root.abc"); System.runFinalizersOnExit(true); System.exit(0); add Manifest permission