SORU
16 AĞUSTOS 2011, Salı


Android: Açık Aktivite Yığını

Benim uygulamada çeşitli etkinlikler düzenliyorum. ve akış çok karmaşık. Ben Çıkış uygulama naviagates Ekran giriş için tıklayın ve oradan ne zaman çıkmak kullanıcı tarafından buton (system.exit(0) aramayı iptal edebilirsiniz

ben ya da geri düğmesi çıktığınızda, sistem yığından bir aktivite :( nasıl ulaştığımda yığın Giriş ekranı tüm faaliyetleri temizleyebilir miyim? çağırır finish() çağıran pek çok aktivite vardır pratik değildir ve bazı faaliyetleri yerel kamera yürütmesini aktivite gibi aktif oldukları zaman kapalı olmalıdır.

validateuser logoutuser = new validateuser();
logoutuser.logOut();
Intent loginscreen = new Intent(homepage.this, Login2.class);
(homepage.this).finish();
loginscreen.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(loginscreen);

CEVAP
5 Mayıs 2013, Pazar


Çoğunuz yanlış. Eğer varolan bir etkinlik yığını orada ne olursa olsun, yakın ve yeni kök oluşturmak istiyorsanız, bayrak doğru ayarlayın şudur:

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

From the doc:

public static final int FLAG_ACTIVITY_CLEAR_TASK
Eklendi API seviyesi 11

Eğer bir Niyet geçirilen ayarlayın * *7, bu bayrak, varolan herhangi bir görev neden olacak önce temizlenecek aktivitesi ile ilişkili olabilir etkinlik başladı. Bu etkinlik yeni kök olur. aksi halde görev boş. tüm faaliyetleri tamamlandı. Bu olabilir sadece FLAG_ACTIVITY_NEW_TASK ile birlikte kullanılır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • ELawshea

    ELawshea

    26 Mayıs 2008
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007