Se l'attività A avvia l'attività B per risultato, ho avuto l'impressione che il metodo onStop dell'attività B sia chiamato prima del metodo di attività onActivityResult A. Perché non è così? L'ho appena testato con una variabile statica impostata in B.onStop
ma quando la lessi in A.onActivityResult
la variabile è valida fino a null.ciclo vitale Android onActivityResult vs onStop
risposta
Penso che quello che vuoi fare è chiamare , tuttavia, non si vuole fare troppo lì. Here is what the docs say:
protetta onPause void() Aggiunto a livello di API 1
Chiamato come parte del ciclo di vita di attività quando un'attività sta in secondo piano, ma non è (ancora) stati uccisi. La controparte di onResume().
Quando l'attività B viene lanciato davanti l'attività A, questo callback sarà essere invocato su A. B non verrà creato fino di un onPause) restituisce (in modo essere sicuri di non fare nulla lungo qui.
Questa callback è usato soprattutto per il salvataggio di qualsiasi stato persistente l'attività sta modificando, di presentare un modello di "Modifica in posizione" per l'utente e assicurandosi che nulla è perduto, se non ci sono abbastanza risorse per iniziare il nuovo attività senza prima uccidere questo. Questo è anche un buon posto per fare cose come fermare le animazioni e altre cose che consumano una notevole quantità di CPU al fine di passare alla successiva attività il più velocemente possibile, o per chiudere le risorse che sono accesso esclusivo tale come la fotocamera.
Penso che la tua impressione è sbagliata, onActivityResult
viene chiamato prima onResume
e la documentazione per onStop
al http://developer.android.com/reference/android/app/Activity.html nella tabella che segue il diagramma di ciclo di attività afferma
Chiamato quando l'attività non è più visibile per l'utente, perché è stata ripristinata un'altra attività che copre questo. Questo può accadere sia perché si sta avviando una nuova attività, una già esistente viene portata davanti a questa, o questa viene distrutta.
Quindi onResume
in A viene chiamato prima di onStop
in B.
- 1. onStop vs onDestroy
- 2. Attività Android Ciclo di vita: onStart() -> onStop() possibile?
- 3. Utilizzare onactivityresult android
- 4. android: quando utilizzare onStart(), onStop()?
- 5. Rimuovi evento ciclo vitale Doctrine da un controller Symfony2
- 6. Android onStop/onDestroy - quando potrebbero essere utilizzati?
- 7. Android onActivityResult chiamato in anticipo
- 8. Codice Favicon minimo vitale
- 9. Android - onStop() verrà chiamato con un ritardo
- 10. Il frammento di Android viene distrutto ancora ricevendo onActivityResult
- 11. Android: onActivityResult in frammento non chiamato
- 12. Il metodo onActivityResult non viene chiamato Android
- 13. Differenza tra onPause e onStop()
- 14. ciclo foreach vs ciclo while risultati
- 15. in onActivityResult sono nulli
- 16. Efficienza: ricorsione vs ciclo
- 17. android - dati memorizzati in onPause, onStop o onSaveInstanceState
- 18. Android: scenario in cui viene chiamato onPause ma non onStop?
- 19. Android: quando annullare la registrazione del listener - onStop() o onDestroy()
- 20. OnRestart vs. OnResume - Ciclo di vita Android Domanda
- 21. Sostituzione di GlobalSettings.onStart e onStop
- 22. OnActivityResult non chiamato dopo startIntentSenderForResult
- 23. FLAG_ACTIVITY_CLEAR_TOP e onActivityResult
- 24. non onActivityResult essere chiamato
- 25. onActivityResult con launchMode = "singleTask"?
- 26. Come monitorare un thread di vitale importanza
- 27. ciclo ricorsivo Jinja2 vs dizionario
- 28. Android onActivityResult. La variabile membro è talvolta nullo
- 29. Android ritorno android.provider.MediaStore.ACTION_VIDEO_CAPTURE onActivityResult nulla con Nexus 7
- 30. La demo di WPF Boing richiede supporto vitale
Si prega di indicare nella documentazione dove è descritto il comportamento previsto. – CommonsWare
"il metodo onStop dell'attività B viene chiamato prima del metodo onActivityResult di attività A" - questo è il comportamento predefinito e anche questo è previsto. Qual è la tua opinione contraria? –
@CommonsWare: beh, non tutto deve essere documentato. Immagino di dover prima lasciare l'attività B prima di tornare all'attività A. Sembra solo logico al riguardo. – learner