gpt4 book ai didi

android - 取消使用 setGroup 创建的 Bundle 中的通知

转载 作者:行者123 更新时间:2023-11-29 02:37:49 48 4
gpt4 key购买 nike

我将多个通知堆叠在使用以下方法创建的 bundle 中:

setGroup("groupname");

setGroupSummary(true);

方法。

每个通知都有一个 Action 。操作 pendingIntent 中的Intent bundle 含可用于取消通知的通知 ID。

当通知未 bundle 到一个组中并显示在摘要通知中时,调用 NotificationManager.cancel(id) 会立即取消通知。

但是,如果通知已分组并汇总,则 NotificationManager.cancel(id) 不执行任何操作。

谁能告诉我如何解决这个问题。

待处理的操作 Intent 如下:

  Intent notificationSettingsIntent = new Intent(context.getApplicationContext(), NotificationSettingsActivity.class);
notificationSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
notificationSettingsIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
notificationSettingsIntent.putExtra("fromNotification",true);
notificationSettingsIntent.putExtra("notif_id",counterOfValidNotifications+6666);
//Log.d("FragmentCreate","Setting notif_id inside action button "+(counterOfValidNotifications+6666)+" for restid "+c.getInt(restidindex));
PendingIntent notificationSettingsActivityPendingIntent = PendingIntent.getActivity(context,(int)(System.currentTimeMillis()%10000),notificationSettingsIntent,PendingIntent.FLAG_ONE_SHOT);

notificationBuilder.addAction(R.drawable.ic_notifications_off_black_24dp,"Notification Options",notificationSettingsActivityPendingIntent);

此 Intent 中的 notif_id 是在指定的 Activity 中接收的,在这里我基本上调用了 cancel(id)。

最佳答案

(int)(System.currentTimeMillis()%10000)

这还不够。如果您的所有通知都是在一毫秒内创建的,它们将只有一个 PendingIntent。您将标志设置为一次性,因此在第一个标志之后,它们甚至不会被传送。

关于android - 取消使用 setGroup 创建的 Bundle 中的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45990037/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com