Estou usando uma atividade SingleTop para receber intenções de um diálogo de pesquisa via onNewIntent()
.
O que notei é que onPause()
é chamado antes onNewIntent()
e depois chama onResume()
. Visualmente:
- diálogo de pesquisa iniciado
- intenção de pesquisa disparada para a atividade
onPause()
onNewIntent()
onResume()
O problema é que tenho ouvintes registrados onResume()
que são removidos onPause()
, mas eles são necessários dentro da onNewIntent()
chamada. Existe uma maneira padrão de disponibilizar esses ouvintes?
fonte
Intent
emonResume()
, sua atividade provavelmente irá tentar executar uma busca cada vez que recomeça, provavelmente não o comportamento desejado.Nota: Chamar um método de ciclo de vida de outro não é uma boa prática. No exemplo abaixo, tentei fazer com que seu onNewIntent seja sempre chamado independentemente do seu tipo de atividade.
OnNewIntent () sempre é chamado para atividades singleTop / Task, exceto pela primeira vez em que a atividade é criada. Naquele momento, o onCreate é chamado fornecendo a solução para poucas consultas feitas neste encadeamento.
Você pode invocar onNewIntent sempre colocando-o no método onCreate como
fonte