SORU
13 AĞUSTOS 2010, Cuma


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
17 Mart 2011, PERŞEMBE


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ama Jenna

    Ama Jenna

    29 NİSAN 2011
  • apenney888

    apenney888

    27 EKİM 2010
  • Julian Smith

    Julian Smith

    31 EKİM 2006