Ich verwende eine singleTop-Aktivität, um Absichten von einem Suchdialog über zu erhalten onNewIntent()
.
Was mir aufgefallen ist, dass onPause()
das vorher aufgerufen onNewIntent()
wird und danach aufgerufen wird onResume()
. Visuell:
- Suchdialog eingeleitet
- Suchabsicht auf Aktivität ausgelöst
onPause()
onNewIntent()
onResume()
Das Problem ist, dass ich Listener registriert habe onResume()
, die entfernt werden onPause()
, aber sie werden innerhalb des onNewIntent()
Anrufs benötigt. Gibt es eine Standardmethode, um diese Hörer verfügbar zu machen?
quelle
Intent
werdenonResume()
soll, wahrscheinlich nicht das gewünschte Verhalten.Hinweis: Das Aufrufen einer Lebenszyklusmethode von einer anderen Methode ist keine gute Vorgehensweise. Im folgenden Beispiel habe ich versucht zu erreichen, dass Ihr onNewIntent unabhängig von Ihrem Aktivitätstyp immer aufgerufen wird.
OnNewIntent () wird immer für singleTop / Task-Aktivitäten aufgerufen, außer beim ersten Erstellen einer Aktivität. Zu diesem Zeitpunkt wird onCreate als Bereitstellen einer Lösung für einige in diesem Thread gestellte Abfragen bezeichnet.
Sie können onNewIntent immer aufrufen, indem Sie es wie in die onCreate-Methode einfügen
quelle