Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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); } }); 

  • Pausa y reanudación de actividades infantiles en ActivityGroup
  • Problema con ActionBarActivityDelegate class ... app no ​​se ejecuta
  • Cómo encontrar la actividad de primer plano actual en android
  • Cómo abrir una nueva pantalla en Android?
  • Barra de notificación de Android abrir última actividad activa?
  • Modo de lanzamiento "single top" de Android y método onNewIntent
  • Actualización del fragmento de la actividad mediante Rxjava Android
  • ¿Por qué se llama onStop justo después de que se inicie mi actividad?
  • 6 Solutions collect form web for “System.exit (0) no cierra todas mis actividades?”

     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" /> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.