Używam pojedynczej aktywności do odbierania zamiarów z okna dialogowego wyszukiwania przez onNewIntent()
.onNewIntent() cykl życia i zarejestrowani słuchacze
Zauważyłem, że onPause()
jest wywoływane przed onNewIntent()
, a następnie wywołuje onResume()
. Wizualnie:
- okno wyszukiwania zainicjowane
- zamiaru wyszukiwania zwolniony z działalnością
onPause()
onNewIntent()
onResume()
Problem polega na tym, że mam detektory zarejestrowane w onResume()
że zostaną usunięte w onPause()
, ale są to n wydane w ramach połączenia onNewIntent()
. Czy istnieje standardowy sposób udostępnienia tych słuchaczy?
@Rodja będziesz prosimy o komentarz na ten http://stackoverflow.com/questions/19092631/logout-from-the-application- android/19092683? noredirect = 1 # 19092683 również – Developer
Powiązane z pytaniem oryginalnym: należy pamiętać, że jeśli przeniesiesz kod, aby obsłużyć wyszukiwanie 'Intent' w' onResume() ', Twoja aktywność będzie prawdopodobnie próbowała wykonać wyszukiwanie za każdym razem, gdy wznowione, prawdopodobnie nie zachowanie, które chcesz. –
Rodja mówi: Z punktu widzenia cyklu życia aktywności konieczne jest wywołanie funkcji onPauza() przed nowością naNewIntent() Android nie musiał tego projektować w ten sposób. Twoja aktywność przeszła już przez cały cykl życia do wznowienia(). Nie ma potrzeby uruchamiania przez androida funkcji onPause(), a następnie wywołania onResume() ponownie. Jeśli aplikacja zostanie wznowiona, os może po prostu wywołać NewNentent() i pozostać w stanie wznowionym. –