通知取消静音

5

我正在使用通知监听器来暂停不需要的通知,但是一旦我的应用程序不再运行,如何取消暂停?目前我发现唯一的方法是用户必须重新启动他们的手机。

这是我如何暂停通知的方式,我发现我可以使用getSnoozedNotifications获取已暂停应用程序的列表,但是取消暂停的命令是什么?

snoozeNotification(sbn.getKey(), Long.MAX_VALUE - System.currentTimeMillis());

这就是我获取被打盹的应用程序的方法,但我找不到任何地方告诉我如何取消打盹状态的命令,我甚至尝试将持续时间设置为0
private void clearSnoozedNotifications()
{
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        StatusBarNotification sbns[] = getSnoozedNotifications();
        for (StatusBarNotification sbn : sbns) {
            try {
                if (sbn == null) {
                    Log.e("Notification Listener", "sbn is null");
                    return;
                }

                Log.e("Notification Listener", "Starting: " + sbn.getKey());
                snoozeNotification(sbn.getKey(), 0);
            } catch (Exception e) {
                Log.e("Notification Listener", "error: " + e.getMessage());
            }
        }
    }
}
1个回答

3

我注意到在 Android 11 上,您可以通过使用一个大于零的低持续时间的相同键调用 snoozeNotification 来恢复通知。

例如,我使用以下代码:

snoozeNotification(key, 100L);

在早期版本的Android中,当通知被暂停后,在重新启动时通知将重新出现,但在Android 11中不会再出现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接