Çıkış, net Faaliyet geçmişi yığını, önleme "geri" açma düğmesini açmış, sadece Aktiviteler
Benim uygulamada tüm faaliyetler için kullanıcılar görüntülemek için olması gerekir. Kullanıcılar hemen hemen her aktiviteden çıkış yapın. Bu uygulamanın bir gereğidir. Kullanıcı günlükleri-eğer herhangi bir noktada, Giriş Activity
kullanıcı göndermek istiyorum. Bu etkinlik tarihi dibinde olmak istiyorum bu stack böylece basarak "Geri" düğmesini döndürür Android ana ekran için Kullanıcı.
Bu soruyu bir kaç farklı yerde, tüm benzer cevaplar ile cevap istedi gördüm burada anahat (), ama geri bildirim toplamak için burada poz vermek istiyorum.
Denedim açılış Giriş etkinliği ile onun ayarı Intent
bayraklar FLAG_ACTIVITY_CLEAR_TOP
gibi yapmak olarak özetlenen belgelere, ama değil ulaşmak amacım yerleştirme Giriş etkinliği altında tarih yığını ve önleme kullanıcıdan navigasyon geri önceden görülmemiş giriş etkinlikleri. Ben de bildirimde Giriş etkinliği android:launchMode="singleTop"
kullanarak denedim, ama bu benim hedefim de (ve hiçbir etkisi zaten var gibi görünüyor) kazandırmaz.
Tarihi yığın açık ya da daha önce faaliyetleri açılan tüm bitirmem gerektiğine inanıyorum.
Bir seçenek, her etkinlik onCreate
check-oturum durumu ve finish()
sahip değilse-kaydedilir. Geri düğmesi hala kullanılabilir olacaktır, bu seçeneği, faaliyetleri kendilerine yakın olarak geri gezinmeyi sevmiyorum.
Bir sonraki seçeneği statik olarak her yerden erişilebilen tüm açık faaliyetleri için başvurular LinkedList
(belki de zayıf başvurular kullanarak) korumaktır. Çıkış bu listesine erişmek ve daha önce açılmış, çağırma finish()
faaliyetlerin her biri tüm ispat edeceğim. Muhtemelen bu yöntemi uygulayan yakında başlayacağım.
Oldukça Intent
bazı bayrak hile bunu yapmak için, ancak kullanmak istiyorum. Yukarıda bahsettiğim bu iki yöntemden birini kullanmak zorunda kalmadan benim uygulama şartlarını yerine getirebilirim bulmak için mutlu ötesi olurum.
Bir şekilde Intent
veya bildirim ayarları kullanarak bunu yapmak için, ya da benim ikinci seçenek ise, açılan faaliyetleri LinkedList
bakımı en iyi seçenek var mı? Ya bakan ben tamamen başka bir seçenek var mı?
CEVAP
Başka bir yaklaşım IMHO daha sağlam önerebilirim.
Temelde tüm Faaliyetleri altında giriş durum kalmak için ihtiyacı için çıkış mesajı vermek gerekir. sendBroadcast
kullanımı ve tüm Actvities BroadcastReceiver
yükleyebilirsiniz.
Şöyle bir şey:
/** on your logout method:**/
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.package.ACTION_LOGOUT");
sendBroadcast(broadcastIntent);
(Güvenli Etkinliği) alıcı:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/**snip **/
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.package.ACTION_LOGOUT");
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("onReceive","Logout in progress");
//At this point you should start the login activity and finish this one
finish();
}
}, intentFilter);
//** snip **//
}
Bash: eğer herhangi bir komut başarısı...
Nasıl geri "git --değiştirme"...
Böyle büyük mükafat uyarı: "Birde...
Nasıl Yinele (yani "geri") V...
Android "bu hiyerarşi görüşlerini...