Pregunta

Esta es la estructura de mi aplicación:

La actividad A es una ListViewActivity con un botón para iniciar la actividad B.

En la actividad B, después de completar un formulario, hay un botón para iniciar la actividad C.

La actividad C guarda la configuración y crea un nuevo registro para mostrar en la actividad A.El botón guardar en la actividad C inicia la actividad A.

Si el usuario sigue este procedimiento más de una vez cuando presiona el botón Atrás de la actividad A regresa a la B (sin pasar por el C porque cuando lo inicié configuré FLAG_ACTIVITY_NO_HISTORY) y la segunda vez que presiona volver a A nuevamente, y esto se repite un número de veces igual al número de registros creados.

Cerrar la aplicación con el botón Atrás se convirtió en un proceso largo.

me gustaria el onBackPressed desde la actividad A siempre cierre la aplicación.

El inglés no es mi idioma, espero haber sido claro.

¿Fue útil?

Solución

Siempre comienza tu actividad con Me gusta a continuación.

    Intent intent = new Intent(current_activity_context, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();

Otros consejos

El método Finish() hará eso.Algo como esto

Intent intent = new Intent(getApplicationContext(),
                Activity B.class);
        Activity A.this.startActivity(intent);

        finish();

Debes anular el método OnBackPressed

@Override
public void OnBackPressed(){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    super.onBackPressed();//Optional
 }

Espero eso ayude.

prueba esto

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top