Il mio stack di attività è A B C, con C in alto. A iniziato B usando startActivityForResult().FLAG_ACTIVITY_CLEAR_TOP e onActivityResult
Ora, in C, inizia A e cancella la parte superiore utilizzando il seguente codice:
finish();
intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
La mia domanda è, sarà onActivityResult() in un essere chiamato dopo che il codice di cui sopra viene eseguito? Mi aspettavo che lo fosse, perché B viene distrutto dopo che C inizia A e cancella la cima. Ma il mio codice di test ha mostrato che onActivityResult() in A non è stato chiamato. Sono confuso. Qualcuno può aiutare?
Grazie.
Kai, i documenti per CLEAR_TOP dicono "tutte le altre attività su di esso verranno chiuse e questo intento sarà consegnato alla vecchia attività (ora in cima) come un nuovo intento. " Tuttavia, sospetto che "chiuso" sia una scelta scadente di parole nel documento .. Android di solito non "chiude" le attività a meno che la memoria lo richieda o chiamino finish(). Questo potrebbe richiedere alcuni test .. Sono interessato a vedere ciò che trovi. – DJC