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

Tengo 2 actividad, así que la actividad 1 va a la actividad 2 entonces a la actividad 2 Tengo un botón de salida. Pero cuando hago clic en él, todo lo que sólo salió de la actividad número 2 y volver a la actividad 1 de nuevo. Se siente básicamente como si acababa de iniciar la aplicación de nuevo. No estoy seguro de 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 gestiona en su propio sistema operativo

Puede traer la aplicación Inicio por su Propuesta 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

EDIT: –

Entonces supongo que estás apuntando a terminar toda la actividad acumulada.

Aquí está :-

Cerrando 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(); 

A continuación, en el método MainActivity onCreate() agregue esto para finalizar MainActivity

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

El resultado será el mismo que el anterior, pero debido a que todas sus actividades apiladas están cerradas, cuando regrese a su aplicación debe comenzar desde su actividad principal, es decir, la actividad del lanzador.

Espero que esto ayude.

No utilice System.exit .

Si quieres que el usuario cierre la aplicación de cualquier Activity , sugiero usar startActivityForResult , comprobando el valor devuelto en onActivityResult en la primera Activity y llamando finish() allí también.

Puede simular pulsando 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 cierra la aplicación ..

Para cerrarlo , puede hacerlo como https://stackoverflow.com/a/9735524/1434631

Use finish () y un flag sharedPreference y establezca el indicador cuando haga clic en el botón. En su otra actividad, marque la bandera y termine () si el indicador está establecido

Termine la primera actividad llamando a finish(); En el botón después de pasar la intención de iniciar 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 <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> 
  • Evitar una nueva instancia de actividad después de hacer clic en la notificación
  • Actividades cargando xml diseño dinámicamente en android
  • Android: interacción para cambiar de actividad como Administración de fichas de Chrome
  • Teclado Android aún visible después de regresar de la actividad de correo electrónico
  • java.io.NotSerializableException al hacer clic en el botón de retroceso
  • Android cómo llamar a startActivityForResult dentro de un adaptador
  • Android: Configurar onClickListener en una parte del texto de un TextView - Problema
  • Intentar invocar método virtual
  • ¿Por qué iniciar una actividad desde un widget causa que mi actividad principal comience también?
  • OverridePendingTransition para actividades deslizantes dentro y fuera suavemente
  • Retraso en el lanzamiento de la actividad del servicio de chat principal
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.