2

我使用以下代码显示通知

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);
}

每次收到新通知时,应删除前一个通知并显示新通知。

任何线索都会有所帮助。

提前感谢

○。

4

2 回答 2

4

您每次都生成具有不同 ID 的通知(System.currentTimeMillis()),将其更改为单个 ID。

notificationManager.notify(0, notification);

发布要在状态栏中显示的通知。如果您的应用程序已经发布了具有相同 id 的通知并且尚未取消,它将被更新的信息替换。

NotificationManager.html

于 2013-06-04T11:15:04.067 回答
2

有一种方法可以让您在发布新的应用程序之前清除所有应用程序通知。试一试,

notificationManager.cancelAll();

要清除特定通知,您可以这样做,

notificationManager.cancel(notification_id);
于 2013-06-03T07:48:38.143 回答