Actualmente tengo una actividad que cuando se muestra una notificación también se mostrará en la barra de notificaciones.Android - Cómo anular el botón "Atrás" para que no termine() mi actividad?
Esto es para que cuando el usuario presione Inicio y la actividad se pase al fondo puedan volver a la actividad mediante la notificación.
El problema surge cuando un usuario presiona el botón Atrás, mi actividad se destruye pero la notificación se mantiene porque quiero que el usuario pueda retroceder pero aún así poder acceder a la actividad mediante la notificación. Pero cuando un USUARIO prueba esto, obtengo Null Pointers porque está intentando iniciar una nueva actividad en lugar de recuperar la anterior.
Así que, esencialmente Quiero el botón Atrás para actuar exactamente el mismo que el botón de inicio y así es como he intentado hasta ahora:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
Sin embargo el código anterior parece que todavía Permitir que se destruya mi actividad. ¿Cómo puedo evitar que mi actividad se destruya cuando se presiona el botón Atrás?
Hay una pregunta similar: http://stackoverflow.com/questions/2459848/android-prompt-user-to-save-changes- when-back-button-is-pressed – aleung
Respuesta similar .. http://stackoverflow.com/questions/5914040/onbackpressed-to-hide-not-destroy-activity/23759328#23759328 – Nepster
También creo que debe cambiar su código a 'if (Integer.parseInt (android.os.Build.VERSION.SDK)> 5', el' <'debe convertirse en un'> '. – SudoPlz