我使用以下代码来显示通知
private void SendNotification(String notificationTitle, String notificationMessage)
{
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
android.app.Notification notification = new android.app.Notification(R.drawable.ic_launcher, notificationMessage,
System.currentTimeMillis());
Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.putExtra("notif_id", "5100");
//Setting the single top property of the notification and intent.
notification.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_AUTO_CANCEL | Notification.FLAG_SHOW_LIGHTS;
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(MainActivity.this, notificationTitle, notificationMessage, pendingIntent);
notificationManager.notify((int)System.currentTimeMillis(), notification);
}
每次收到新通知时,都应删除上一个通知,并显示新通知。
任何线索都会有所帮助。
提前完成
0
答案 0 :(得分:4)
您每次都会生成一个具有不同ID的通知(System.currentTimeMillis()),将其更改为单个ID。
notificationManager.notify(0, notification);
发布要在状态栏中显示的通知。如果您的应用程序已经发布了具有相同ID的通知但尚未取消,则该通知将被更新的信息替换。
答案 1 :(得分:2)
在发布较新的应用程序之前,有一种方法可以清除应用程序的所有通知。 试一试,
notificationManager.cancelAll();
要清除特定通知,您可以这样做,
notificationManager.cancel(notification_id);