2012-11-30 16 views
16

Bildirim çubuğuna birkaç bildirim yolluyorum, bildirimden biri tıklandığında hepsini silmek istedim. Şimdilik Bayrak kullanarak tek tek temizliyorum. notificationManager.cancelAll()'un tüm bildirimleri temizleyebileceğini biliyorum, ancak bildirimin bir kez tıklandığında tetikleyebileceğim yeri belirtmeliyim.Tüm bildirim bir kez tıklandığında nasıl düzgün temizlenir?

private static void generateNotification(Context context, String message) { 
    int icon = R.drawable.ic_launcher; 
    long when = System.currentTimeMillis(); 
    NotificationManager notificationManager = (NotificationManager) 
      context.getSystemService(Context.NOTIFICATION_SERVICE); 
    Notification notification = new Notification(icon, message, when); 
    String title = context.getString(R.string.app_name); 
    Intent notificationIntent = new Intent(context, MainActivity.class); 

    // set intent so it does not start a new activity 
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
      Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent intent = 
      PendingIntent.getActivity(context, 0, notificationIntent, 0); 
    notification.setLatestEventInfo(context, title, message, intent); 
    notification.flags |= Notification.FLAG_AUTO_CANCEL; 

    notificationManager.notify(msgid, notification); 
    //notificationManager.cancelAll(); //i wan to clear all when the notification is clicked, where should i put this line? 
} 

cevap

58

Çözümüm, onResume() numaralı telefonu aramaktır.

@Override 
protected void onResume() { 
super.onResume(); 

// Clear all notification 
NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
nMgr.cancelAll(); 
} 
+0

Bu benim durumumda çalışmıyor. –

+0

Benim için çalışmıyor Not –

+0

gibi çalışan çekicilik –

1

Bir yayını gönderir ve daha sonra yerde tüm bildirimlerini iptal edecek bir yayın alıcısı koymak bekleyen bir niyet kullanmalıdır. Tüm bildirim kimliklerini ezberlemek ve bunları tek tek silmek en iyisidir.

İlgili konular