2012-11-27 8 views
10

Android'de push bildirimleri kullanıyorum. Bir push bildirimi aldığımda, hala çalışıyorsa uygulamayı açmak istiyorum, aksi takdirde yeni bir örneği açılmalıdır.Android - bayrak etkinliklerini kullanarak push bildirimi tıkladıktan sonra uygulamayı aç veya yeniden başlat

Ben

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 
    Intent.FLAG_ACTIVITY_CLEAR_TOP | 
    Intent.FLAG_ACTIVITY_SINGLE_TOP | 
    Intent.FLAG_ACTIVITY_NEW_TASK); 

kullanıyorum Ama şimdi push bildirimi almak ve bunu tıkladığımda hiçbir şey olmuyor.

Bunu flagIntents kullanarak nasıl yapabilirim?

cevap

13

Intent'da Intent bayraklarını ayarlamanız gerekir. Onları PendingIntent almak için aramada belirttiniz. Bunu deneyin: Android Mainfest şeyler aşağıdaki

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
    Intent.FLAG_ACTIVITY_SINGLE_TOP | 
    Intent.FLAG_ACTIVITY_NEW_TASK); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
    notificationIntent, 0); 
+0

Evet, bu işleri dosya. Ecpet şimdi başka bir problemim var. Itme bildirimi yapmak zorunda olduğu aynı kodu içerdiğinden onCreate() içinde bir kod yürütme yolu var mı. Artık onCreate çağrılmıyor, bu nedenle kod yürütülmemektedir. – DijkeMark

+1

"Intent.FLAG_ACTIVITY_SINGLE_TOP" işaretini ayarlamazsanız, etkinliğin geçerli örneği yok edilir ve yeni bir örnek oluşturulur (bu nedenle 'onCreate()' çağrılır). –

+0

Şimdi istediğim gibi çalışıyor. Teşekkürler – DijkeMark

1

seti

android:noHistory="true" 
android:launchMode = "singleTop" 
+0

Neden android: noHistory = "gerçek" ve android: launchMode = "singleTop" '? –

İlgili konular