2010-04-13 38 views
112

bildirimi tıklatıldıktan sonra kaybolmuyor Bildirim bildiriminde göstermek istediğiniz bir bildirim ile ilgili bazı sorunlar varsa. Bildirim bayrağını Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL olarak ayarladığım halde, bildirim tıklatıldıktan sonra kaybolmaz. Yanlış yaptığım herhangi bir fikrin var mı?Android bildirimi,

belgelerine
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

    int icon = R.drawable.icon; 
    CharSequence tickerText = "Ticker Text"; 
    long time = System.currentTimeMillis(); 

    Notification notification = new Notification(icon, tickerText, time); 
    notification.flags = Notification.DEFAULT_LIGHTS & Notification.FLAG_AUTO_CANCEL; 

    Context context = getApplicationContext(); 
    CharSequence contentTitle = "Title"; 
    CharSequence contentText = "Text"; 
    Intent notificationIntent = new Intent(this, SilentFlipConfiguration.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 
    mNotificationManager.notify(1,notification); 

cevap

247

NotificationBuilder tarafından Notification inşa edilirken notificationBuilder.setAutoCancel(true);'u kullanabilirsiniz.

+0

Çok teşekkürler. O benim için çalıştı – Sakthimuthiah

+2

Yani, hangi farklılıklar Bildirimi 'mNotificationManager.notify (1, bildirim); kullanarak bildirimi oluşturmak ve NotificationBuilder' mNotificationManager.notify (1, mBuilder.build()); 'kullanarak? Teşekkürler. – NPE

+9

Bu cevap kabul edilmelidir, mevcut android tasarım doktrini – jmaculate

126
notification.flags = Notification.DEFAULT_LIGHTS | Notification.FLAG_AUTO_CANCEL 

:

Bit bildirim iptal edilmelidir eğer tarafından tıklandığında ayarlanmalıdır bayrakları alanına bitwise- veya ed olmak kullanıcı

+0

Oh adamım, teşekkürler! Bir dahaki sefere belgeleri daha doğru okuyacağım. – Flo

+3

Doğru cevap bu değil. "Notification.DEFAULT_LIGHTS", "Notification.flags" sınıfı değil, Notification.defaults sınıfının bir parçasıdır. Uygun belirleyiciler için cevabımı görün. – Darcy

+0

Teşekkür ederim adamım, bana yardımcı oldu –

27
// Uses the default lighting scheme 
notification.defaults |= Notification.DEFAULT_LIGHTS; 

// Will show lights and make the notification disappear when the presses it 
notification.flags |= Notification.FLAG_AUTO_CANCEL | Notification.FLAG_SHOW_LIGHTS; 
+1

Android dokümanlarını inceledim. Bayraklar kullanıldığında tam anlamıyorum. Neden sadece notification.defaults = uyarıları göstermek için yeterli değildir.DEFAULT_LIGHTS. Çünkü titreşim ve ses bayraksız çalışır. – Ashwin

+0

NotificationBuilder kullanıyor muyum, NotificationCompat.Builder mBuilder = yeni NotificationCompat.Builder (bu) .setSmallIcon (android.R.drawable.ic_popup_sync) .setContentTitle ("Yeni Tweet") .setContentText (+ sayısı "yok" + "tweets"); mBuilder.setDefaults (NotificationCompat.DEFAULT_LIGHTS | Bildirim.FLAG_AUTO_CANCEL); – Joseph

0

kullanımı uygun Notification.FLAG_AUTO_CANCEL

Notification notification = new Notification(icon, tickerText, when); 

notification.setLatestEventInfo (bağlam, contentTitle, contentText, pendingIntent);

// Bildirimi seçildikten sonra iptal et notification.flags | = Notification.FLAG_AUTO_CANCEL; ve uygulamayı başlatmak için:

NotificationManager notificationManager = (NotificationManager) context.getSystemService (Context.NOTIFICATION_SERVICE);

Intent intent = new Intent(context, App.class); 

PendingIntent pendingIntent = PendingIntent.getActivity (bağlam, intent_id, niyet, PendingIntent.FLAG_UPDATE_CURRENT);

İlgili konular