gpt4 book ai didi

android - 从通知栏中删除所有通知

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:54 24 4
gpt4 key购买 nike

我想从状态栏中删除所有可取消的通知。我知道如何删除我的应用程序通知我已经看到了 post之前,但我想删除其他应用程序通知。

在所有 android 版本的通知中都有一个“清除”按钮,用于清除所有带有此标志的通知:Notification.FLAG_AUTO_CANCEL

这意味着可以取消所有通知。但我还没有找到任何关于如何做到这一点的文件。有没有人指导我如何做到这一点?

谢谢

最佳答案

从 API 级别 18 开始,您可以使用 NotificationListenerService 取消由不同于您自己的其他应用发布的通知,该方法在 Lollipop 中发生了一些变化,这里是删除通知的方法也涵盖 Lillipop API。

首先在 onNotificationPosted 方法中,您存储所有 StatusBarNotification 对象。然后,您应该维护对这些对象的更新引用,如果通知在 onNotificationRemoved 方法中以某种方式被取消,则删除它们。

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public class NotificationService extends NotificationListenerService {

@Override
public void onNotificationPosted(StatusBarNotification sbn) {
// Store each StatusBarNotification object
}

@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
// Delete removed StatusBarNotification objects
}
}

最后,您可以使用 cancelNotification 方法删除任何通知。

 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId());
}
else {
cancelNotification(sbn.getKey());
}

关于android - 从通知栏中删除所有通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667583/

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