Determine si la actividad se adelantó debido a la navegación posterior
Me gustaría saber si mi actividad se ha mostrado porque el usuario ha pulsado otra actividad. En el ciclo de vida no pude identificar las devoluciones de llamada que me están dando de forma robusta esa información.
onRestart()
no funciona. También se disparará si se ha llevado a la tarea de Apps. onResume()
no funcionará por el mismo motivo.
- Comportamiento del botón de retroceso de Android
- Android onCreate onResume
- Uso de onResume () para actualizar la actividad
- Android - guardar / restaurar estado de fragmento
- Android ViewPager setCurrentItem no funciona después de onResume
Supongo que hay una solución simple para eso, pero en Android supuestamente las cosas simples pueden ser bastante desagradables.
- Android: pintura de lienzo dibujado desaparecido si se reanuda la aplicación desde la barra de notificación
- Android: el inicio de sesión de Facebook provoca error de onResume sólo por primera vez
- Se reanuda el ciclo de vida de la actividad / multimedia en la pantalla de bloqueo
- Detener fragmento de ser recreado después de reanudar?
- usando onResume y onPause
- onQueryTextChange activado después del restablecimiento de la aplicación
- Ciclo de vida de la actividad de Android: ¿para qué sirven todos estos métodos?
- Fragmento onResume () & onPause () no se llama en backstack
Llame a su segunda actividad con startActivityForResult(Intent, int)
, luego anule el onBackPressed()
en la segunda actividad y setResult()
a RESULT_CANCELED
. Por último, onActivityResult()
que la actividad 1 captura que en onActivityResult()
.
Ejemplo de código:
Actividad 1:
Intent i = new Intent(Activity1.this, Activity2.class); startActivityForResult(i, 0);
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0) { if (resultCode == RESULT_CANCELED) { // user pressed back from 2nd activity to go to 1st activity. code here } } }
Actividad 2:
@Override public void onBackPressed() { setResult(RESULT_CANCELED); finish(); }
- ¿Cómo desactivo explícitamente el modo de flujo en bloque para las conexiones HTTP en Android?
- GetSherlockActivity () vs getActivity ()