Estoy usando una actividad TopTop para recibir intentos de un diálogo de búsqueda a través de onNewIntent()
.
Lo que noté es que onPause()
se llama antes onNewIntent()
, y luego llama onResume()
. Visualmente:
- diálogo de búsqueda iniciado
- intención de búsqueda disparada a la actividad
onPause()
onNewIntent()
onResume()
El problema es que tengo oyentes registrados onResume()
que se eliminan onPause()
, pero son necesarios dentro de la onNewIntent()
llamada. ¿Existe una forma estándar de hacer que esos oyentes estén disponibles?
fuente
Intent
enonResume()
, su actividad probablemente tratará de ejecutar una búsqueda cada vez que se reanude, probablemente no es el comportamiento que desea.Nota: Llamar a un método de ciclo de vida desde otro no es una buena práctica. En el siguiente ejemplo, traté de lograr que tu onNewIntent siempre se llame independientemente de tu tipo de actividad.
OnNewIntent () siempre recibe llamadas para actividades SingleTop / Task, excepto por primera vez cuando se crea la actividad. En ese momento, se llama a onCreate que proporciona una solución para algunas consultas realizadas en este hilo.
Puede invocar onNewIntent siempre poniéndolo en el método onCreate como
fuente