2014-03-06 64 views
3

這是給出了服務的啓動通知如何隱藏自來水後,通知在Android應用程序

NotificationCompat.Builder mbuild = new NotificationCompat.Builder(getApplicationContext()); 

Intent in = new Intent(getApplicationContext(), MainActivity.class); 
PendingIntent resultIN = PendingIntent.getActivity(getApplicationContext(),code,in,NOTIFICATION_COUNT);   mbuild.setSmallIcon(R.drawable.images1);  
mbuild.setContentText(NOTIFICATION_COUNT +" New Message"); 
mbuild.setContentIntent(resultIN);   //mbuild.addAction(R.drawable.notifications,NOTIFICATION_COUNT +"New Messages",resultIN); 

NotificationManager nmagr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
nmagr.notify(1, mbuild.build()); 

everyting工作正確..the代碼打開目標活動,但該通知仍然在那裏停留在代碼通知欄。 我曾嘗試使用mbuil.setautocancel(true);但它什麼都不做

+3

'mbuild.setAutoCancel(真)' –

+0

檢查:http://stackoverflow.com/questions/11883534/how-to-dismiss-android-notification-after-action-has-been-clicked – Lokesh

回答

6

試試這個

NotificationManager nmagr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
      Notification notification=mbuild.build(); 
      notification.flags = Notification.FLAG_AUTO_CANCEL; 
      nmagr.notify(1,notification); 
+0

非常感謝你..這工作:) – Deepti

+0

然後upvote的答案 – San

+0

我不能m新.i只能當馬聲譽是15 ..tnx再 – Deepti

2

您沒有設置setAutoCancel(true)

只需設置此

mbuild.setAutoCancel(true) 

mbuild.getNotification().flags |= Notification.FLAG_AUTO_CANCEL 

更新

ÿ你也可以嘗試下面的代碼。

NotificationManager mgr = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
mgr.cancel(1); // here is "1" is your notification id which you set at "nmagr.notify(1, mbuild.build());" 

寫上面的代碼在你的MainActivity.classonCreate()方法。

+0

我已經嘗試過mbuild.setAutoCancel(true); ..它沒有做任何事情 – Deepti

1
NotificationManager notification_manager = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); 
           notification_manager.cancel(NOTIFICATION_ID); 
+0

如果我在ma代碼後面使用notification_manager.cancel(id)jst,即在nmagr.notify(1,mbuild.build())之後;它通知自己取消通知之前提供通知cheked或挖掘 – Deepti

0

只是一個更新,任何人NotificationCompat這樣做,和/或使用Notificaitoncompat.Builder。

這是我沒有地雷:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 

builder.setContentTitle(title); 

/* your own code here */ 

builder.setAutoCancel(true); 

Notification notification = builder.build(); 
NotificationManagerCompat.from(this).notify(0,notification); 

重要的是要注意,如果您使用掛起的意圖給用戶的特定意圖重定向在您的應用程序,這也將調用掛起的意圖。

按照文檔:

設置該標誌將使它所以當用戶點擊它在面板的通知將被自動取消。當通知被取消時,用setDeleteIntent設置的PendingIntent將被廣播。

相關問題