Differenza tra startActivityForResult () e startActivity ()?

Qual è la differenza tra startActivityForResult() e startActivity() ?

Quando, e per cosa, dovrei usare ognuno di essi?

startActivity

Avvia un’attività, come se avessi avviato un’applicazione: ad esempio: hai un’app con una schermata iniziale e una schermata di informazioni utente: se premi il pulsante delle informazioni utente, avvii l’attività di informazione utente con questa.

startSubActivity

Inizia un’attività e aspettati qualcosa in cambio. Ad esempio, nella schermata delle informazioni utente, puoi caricare un’immagine del profilo. Si avvia l’attività galleria con l’objective esplicito di riavere un URI con l’immagine preferita. Si inizia letteralmente a questa attività per ottenere un risultato (l’immagine.) Esistono alcuni modi tecnici per assicurarsi di ottenere effettivamente il risultato, ma sono abbastanza chiari nel manuale.

startActivity inizierà una nuova attività e non si preoccuperà di dove e come finisce quell’attività.

evidentemente

startActivityForResult attende i callback quando l’attività avviata ha deciso di terminare

startActvity () avvia l’attività che si desidera avviare senza preoccuparsi di ottenere alcun risultato dalla nuova attività figlio avviata da startActivity all’attività padre.

startAcitvityForResult () avvia un’altra attività dalla tua attività e prevede di ottenere alcuni dati dall’attività figlio appena avviata da startAcitvityForResult () e di restituirli all’attività padre.

Controlla questo link – Activity#startActivityForResult(Intent, int)