Я использую SingleTop Activity для получения намерений из диалогового окна поиска через onNewIntent()
.
То, что я заметил, это то, что onPause()
вызывается раньше onNewIntent()
, а потом - звонит onResume()
. Визуально:
- начато диалоговое окно поиска
- поисковое намерение возбуждено до деятельности
onPause()
onNewIntent()
onResume()
Проблема в том, что у меня есть зарегистрированные слушатели, onResume()
которые удаляются onPause()
, но они нужны внутри onNewIntent()
звонка. Есть ли стандартный способ сделать этих слушателей доступными?
Intent
вonResume()
, ваша активность, вероятно , попытается выполнить поиск каждый раз , когда оно возобновляется, вероятно , не поведение , которое вы хотите.Примечание. Вызов метода жизненного цикла из другого не является хорошей практикой. В приведенном ниже примере я попытался добиться того, чтобы ваш onNewIntent всегда вызывался независимо от типа вашей активности.
OnNewIntent () всегда вызывается для операций singleTop / Task, за исключением первого раза, когда создается действие. В это время вызывается onCreate, предоставляя решение для нескольких запросов, задаваемых в этой теме.
Вы можете вызывать onNewIntent всегда, помещая его в метод onCreate, например:
источник