Estoy usando una sola actividad superior para recibir intentos desde un cuadro de diálogo de búsqueda a través de onNewIntent()
.onNewIntent() ciclo de vida y oyentes registrados
Lo que noté es que onPause()
se llama antes de onNewIntent()
, y luego llama al onResume()
. Visualmente:
- diálogo de búsqueda inició
- intención de búsqueda disparó a la actividad
onPause()
onNewIntent()
onResume()
El problema es que tengo los detectores registrados en onResume()
que fueron borrados en onPause()
, pero son n ingresado dentro de la llamada onNewIntent()
. ¿Hay una forma estándar de hacer que esos oyentes estén disponibles?
@Rodja haga el favor de comentar en este http://stackoverflow.com/questions/19092631/logout-from-the-application- android/19092683? noredirect = 1 # 19092683 también – Developer
Relacionado con la pregunta original: tenga en cuenta que si mueve el código para manejar la búsqueda 'Intent' en' onResume() ', su actividad probablemente intente ejecutar una búsqueda cada vez que se reanuda, probablemente no es el comportamiento que desea. –
Rodja dice: Desde el punto de vista del ciclo de vida de las actividades, por lo tanto, es necesario llamar a OnPause() antes de onNewIntent() Android NECESITÓ diseñarlo de esta manera. Su actividad ya ha pasado por su ciclo de vida hasta resumir(). No es NECESARIO que android llame a OnPause() y luego vuelva a llamar a Reesume(). Si la aplicación se reanuda, el sistema operativo simplemente podría llamar aNewIntent() y permanecer en el estado reanudado. –