Ho 2 attività AAA e BBB. Chiaro BBB da AAA utilizzando startActivityForResult (Intent, int). Dopo aver finito con BBB, premo il pulsante Indietro per tornare a AAA. In BBB, sovrascrivo onPause() e imposta il risultato utilizzando setResult (RESULT_OK).risultato non impostato su onPause() utilizzando setResult() quando si preme il pulsante Indietro
In AAA, controllo il mio risultato in onActivityResult (int requestCode, int resultCode, Intent data) e continuo a ricevere RESULT_CANCELLED.
Dopo aver trascorso qualche tempo su google/StackOverflow, ho capito che se sovrascrivo onBackPressed() e impostare il risultato in esso, allora funziona assolutamente bene.
Quello che non riesco a capire è che, perché il risultato non viene impostato su onPause(), quando in realtà onPause() viene chiamato dopo onBackPressed(). Ho passato i flussi di attività nei documenti di sviluppo e sono abbastanza chiaro su ciò che è stato menzionato.
Qualcuno ha qualche idea su questo comportamento o potrebbe spiegarlo meglio?
Duplicato di http://stackoverflow.com/questions/2679250/setresult-does-not-work-when-back-button-pressed – pjv