Cómo borrar todas las actividades de la pila en API 8?

Estoy desarrollando una aplicación en la que estoy siguiendo una jerarquía, hay una opción desde la que el usuario puede iniciar sesión, después de esto estoy terminando la actividad de inicio de sesión. Ahora, una vez que el usuario se registra, lo estoy llevando a una nueva Actividad, suponga "Actividad A". A partir de esta actividad de nuevo se está iniciando una nueva Actividad llamada "Actividad B" sin finalizar la "Actividad A". Y finalmente hay una última Actividad llamada "Actividad C" que se inicia desde "Actividad B" sin terminar "Actividad B". Así que actualmente todas las tres actividades son pila.

Ahora, Cada pantalla o Actividad tiene una opción denominada Cerrar sesión, Si el usuario está en "Actividad A", acabo de terminar la Actividad y la Actividad de inicio de sesión. Para este escenario está funcionando bien, pero una vez que estoy cambiando a "Actividad B" o Actividad C "y luego si el usuario pulsa Desconectar lo que debo hacer para eliminar todas las actividades en la pila y también tengo que abrir la actividad de inicio de sesión como he hecho terminado mientras que con éxito la conexión.

Sé que hay una BANDERA en API 11 mediante el cual podemos borrar todas las actividades en la pila: –

Intent i = new Intent(mContext, LoginGateway.class); // set the new task and clear flags i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK) startActivity(i); 

Pero lo estoy soportando desde API 8. Quiero una solución que pueda utilizar para API 8 en adelante, por favor, ayúdame a averiguarlo. Cualquier ayuda sería apreciable. Gracias.

 Intent intent = new Intent(activity, LoginGateway.class); ComponentName cn = intent.getComponent(); Intent mainIntent = IntentCompat.makeRestartActivityTask(cn); activity.startActivity(mainIntent); 

prueba esta variante

 Intent i = new Intent(mContext, LoginGateway.class); i.addFlag(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); startActivity(i); 

Parece que quieres FLAG_ACTIVITY_CLEAR_TOP . Está disponible desde la API 1.

Prueba esto funciona bien conmigo

 // clear whole activity stack Intent intent = new Intent("clearStackActivity"); intent.setType("text/plain"); sendBroadcast(intent); // start your new activity Intent intent = new Intent(OrderComplete.this, MainActivity.class); startActivity(intent); 

Paso 1

Ponga estas líneas en el método onCreate () de todas las actividades o si tiene alguna actividad de base que puede poner allí, entonces no hay necesidad de poner en todas las actividades.

 private KillReceiver clearActivityStack; clearActivityStack = new KillReceiver(); registerReceiver(clearActivityStack, IntentFilter.create("clearStackActivity", "text/plain")); 

Paso 2

Ponga esta clase en su actividad Base

 private final class KillReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { finish(); } } 

Explicación:

En el código anterior creamos nuestro receptor de difusión personalizado. Y lo estamos registrando en la actividad base, es decir, en toda actividad que invoca.

Cuando queremos terminar todas las actividades que acaba de difusión intención, por lo que toda la actividad que se registran este receptor se notificará y terminar ellos mismos.

  • actualizar mi aplicación
  • Cómo recuperar la imagen de la cámara sin utilizar la aplicación de cámara (a través de un servicio)
  • Cómo abrir archivos privados guardados en el almacenamiento interno mediante Intent.ACTION_VIEW?
  • La intención de la cámara Android no vuelve en el caso RESULT_OK
  • Android - getIntent (). GetStringExtra () devuelve null
  • La eliminación de una entrada de un paquete (es decir, extras) no parece funcionar en combinación con el botón de retroceso
  • El constructor Intent (new View.OnClickListener () {}, Clase <DrinksTwitter>) no está definido
  • pasar 2 valores de una a otra actividad
  • ¿Cómo puedo utilizar startActivityForResult en el método getView en la clase ArrayAdapter?
  • BroadcastReceiver con múltiples filtros o BroadcastReceivers múltiples?
  • ¿Cómo funcionan internamente los intentos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.