2011-02-10 12 views
8

Ho una serie di attività sul mio stack Dire A -> B -> C. quando lancio l'attività denominata "D" dovrebbe essere attivata perché l'attività root della mia applicazione e tutte le altre attività (A, B, C) devono essere cancellate dal mio stack una volta che l'attività D è stata avviata. dimmi come come per fare questoEsegui un'attività particolare come attività root nello stack

risposta

5

Se si passa attraverso questa documentazione http://developer.android.com/reference/android/content/Intent.html, è possibile vedere i vari flag di intent e i loro usi.

Specificamente, per la sua domanda, si deve usare FLAG_ACTIVITY_CLEAR_TASK che annullerà qualsiasi operazione esistente che sarebbe associata con l'attività prima di avviare l'attività cioè l'attività diventa la nuova radice di un'attività altrimenti vuoto, e tutte le vecchie attività sono finite.

+1

** ** FLAG_ACTIVITY_CLEAR_TASK non funziona da solo. Devi impostarlo insieme a ** Intent.FLAG_ACTIVITY_NEW_TASK ** (dalla documentazione di Android). – Borzh

2

attività Set radice

Intent intent = new Intent(this, DActivity.class); 

    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

    startActivity(intent); 
+1

cancellerà tutte le attività precedenti dallo stack – Munir

Problemi correlati