Tüm geçmişi yığını temizlemek ve Android üzerinde yeni bir faaliyet başlatmak
Bir yığın etkinlik, daha önce tüm geçmişi temizleyerek başlamak mümkün mü?
Durumu
Bir faaliyet ya da Bir -^ gider yığını var . B->C veya B->C (Bir kullanıcı belirteci seçer, fakat birçok kullanıcı sadece tek bir simge var ekran).
C kullanıcı ekranıolabilirekran uygulama ekran için onları almak istiyor, bu yüzden B geçersiz, Bir yapar, ne olursa olsun zaten yığın olup harekete geçin. Ekran sonra uygulamam yığında tek öğe olması gerekir.
Notlar
Benzer pek çok soru var, ama tam olarak bu sorunun cevabının bir şey bulamadım. getParent().finish()
- Bu her zaman bir null işaretçi istisna sonuçlara ulaşmaya çalıştım. FLAG_ACTIVITY_CLEAR_TOP
faaliyet zaten yığında ise yalnızca çalışır.
CEVAP
Yeni Niyet Bayrağı bunun için sadece eklendi API level 11: Intent.FLAG_ACTIVITY_CLEAR_TASK
Sadece, bu açıklığa kavuşturmak kullanmak için:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
Ne yazık ki API için&;= 10, henüz bu temiz bir çözüm bulamadım level lt. "DontHackAndroidLikeThis" solution gerçekten saf hackery. Böyle bir şey yapmamalısın. :)
Düzenleme:
@Ben Pearson's comment,&;=10 lt API için şimdi, bir ve aynı IntentCompat sınıf kullanabilirsiniz. başı olarak IntentCompat.FLAG_ACTIVITY_CLEAR_TASK
görev temizlemek için bayrak kullanabilirsiniz. Ön API level 11 de destek olabilir.
Android üzerinde başka bir uygulamadan...
Nasıl düğmesini tıklayın ve yeni bir f...
Kullanarak "yeni" bir yapı ü...
Çıkış, net Faaliyet geçmişi yığını, ön...
Nasıl başlık çubuğunun rengini değişti...