35

我已经使用下面给出的带有特定 id 的代码以编程方式在 android 中创建了一个状态栏通知

    Notification notification;
    public static NotificationManager myNotificationManager;
    public static final int NOTIFICATION_ID = 1;

private static void createStatusBarNotification(Context context,CharSequence NotificationTicket, CharSequence NotificationTitle,CharSequence NotificationContent, int icon) {
            myNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            long when = System.currentTimeMillis();
            notification = new Notification(icon, NotificationTicket, when);
            Intent notificationIntent = new Intent(context, MyActivity.class);
            PendingIntent contentIntent = PendingIntent.getActivity(context, 0,notificationIntent, 0);
            notification.setLatestEventInfo(context, NotificationTitle,NotificationContent, contentIntent);
            notification.flags |= Notification.FLAG_ONGOING_EVENT;
            myNotificationManager.notify(NOTIFICATION_ID, notification);

        }

现在我想要的是以编程方式在单击应用程序中的按钮时删除此通知。

我怎样才能做到这一点?

4

3 回答 3

72

你可以使用这个:

public void clearNotification() {
    NotificationManager notificationManager = (NotificationManager) mContext
            .getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.cancel(NOTIFICATION_ID);
}
于 2013-02-12T14:57:43.370 回答
17

取消所有

myNotificationManager.cancelAll();

于 2014-02-18T12:17:02.993 回答
6

使用与通知时相同的 ID

 myNotificationManager.cancel(NOTIFICATION_ID)
于 2013-02-12T14:57:15.400 回答