Android删除通知(由mNotifyBuilder创建)

pobjuy32  于 2022-11-20  发布在  Android
关注(0)|答案(5)|浏览(134)

我找到了很多答案,但没有一个有用:(我有以下代码:

private static void generateNotification(Context context, String message) {
    int icon = R.drawable.icon;
    NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

    int notifyID = 96;
    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(context)
        .setContentTitle("MyApp")
        .setContentText(message)
        .setDefaults(Notification.DEFAULT_ALL)
        .setAutoCancel(true)
        .setSmallIcon(icon);

    Notification notification = mNotifyBuilder.build();
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    mNotificationManager.notify(notifyID, notification);
}

但如果我点击通知没有发生,它仍然在那里。在文档是,我需要用途:

.setAutoCancel(true)

有些人有类似的问题,有人告诉他用途:

notification.flags |= Notification.FLAG_AUTO_CANCEL;

我两个都用,但没有结果:(非常感谢你的回答。:)

eoxn13cs

eoxn13cs1#

我认为,如果你不使用一个意图与您的通知,唯一的方法来消除它刷它。
否则,您可以使用Intent打开Activity,这将实际清除通知:

Intent showIntent = new Intent(this, YourActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, showIntent, 0);

并将其添加到通知中:

NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(context)
    .setContentTitle("MyApp")
    .setContentText(message)
    .setDefaults(Notification.DEFAULT_ALL)
    .setAutoCancel(true)
    .setContentIntent(contentIntent)
    .setSmallIcon(icon);

希望这对你有帮助!

whhtz7ly

whhtz7ly2#

用户可以取消所有通知,或者如果您将通知设置为自动取消,则在用户选择通知后也会将其删除。
您也可以在NotificationManager上为特定的通知ID调用cancel()。cancelAll()方法调用会删除您以前发出的所有通知。
示例:

mNotificationManager.cancel(notifyId);
bf1o4zei

bf1o4zei3#

只需在单击事件按钮内使用以下行-

mNotificationManager.cancel(notifyId);//id is that u used for notification
rlcwz9us

rlcwz9us4#

只是添加了

Intent showIntent = new Intent();
            PendingIntent contentIntent = PendingIntent.getActivity(this, 0, showIntent, 0);

    myNotification = new Notification.Builder(getApplicationContext())
                    .setContentTitle("Title")
                    .setContentText("Text")
                    .setTicker("notificatio")
                    .setContentIntent(contentIntent)
                    .setDefaults(Notification.DEFAULT_ALL)
                    .setAutoCancel(true)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .build();

添加空的待定意图,然后点击通知,通知将删除。2它为我工作。

ryoqjall

ryoqjall5#

我一般用途:

mNotificationManager.cancelAll();

相关问题