检测是否通知已被删除(Detect if notification has been deleted

2019-08-17 18:36发布

我有以下问题。 我想,当一个通知已经从通知栏移除检测。

我可以扫描通知与AccessbilityService和铸造其ParcelableData的通知

Notification notif = (Notification) event.getParcelableData();

我的一个想法是,如果利用该通知的的PendingIntent已被点击,但我无法找到如何检测什么。

有任何想法吗? 我有点绝望了......现在尝试了好几个小时。

Answer 1:

一个非常类似的问题已经在这里回答了SO:

检测到新的Android通知

总之,这是可能的一个新的通知出现时检测,但仅此而已。 当通知被解雇你无法察觉。



Answer 2:

您可以在Notification.Builder使用setDeleteIntent:

http://developer.android.com/reference/android/app/Notification.Builder.html#setDeleteIntent(android.app.PendingIntent)

它可以用做你想做什么(我想这是对你太晚了,但它可以帮助别人)



Answer 3:

据我所知,这是不可能的,除非你有根,但在Android 4.3,这是昨天刚刚解除启动,这是可能的。 这里有一些链接:

Android开发者博客 :

通知使用权 - 您的应用程序现在可以访问并与状态栏通知流,因为它们都贴交互。 你可以在任何你想要的方式显示出来,包括他们路由到附近的蓝牙设备,并且可以更新,并根据需要关闭通知。

Android开发者网站 :

采用Android 4.3增加了新的服务类别,NotificationListenerService,允许他们通过系统发布您的应用程序收到新通知的信息。

如果您的应用程序目前使用的无障碍服务API来访问系统通知,您应该更新您的应用程序使用这些API来代替。

Android开发者网站- API说明 :

访问通知

通知早就有流行的Android功能,因为它们让用户看到来自全国各地的系统信息和更新,都在一个地方。 现在的Android 4.3,应用程序可以观察用户的许可通知的流和任何他们想要的方式显示通知,包括将它们发送到连接的蓝牙附近的设备。

您可以通过新的API,让你注册一个通知侦听器服务,并与用户的权限访问的通知,因为它们显示在状态栏中收到通知。 通知交付给你十足,与原始应用程序,该帖子的时候,内容视图和风格,以及优先级的所有细节。 您可以评估感兴趣的领域中的通知,流程或应用程式中加入背景和路由他们在任何你选择的方式显示。

新的API给你当通知被添加,更新并删除(无论是由于用户驳回或原始应用程序退出的话)的回调。 您可以启动附加到通知或其行动的任何意图,以及从系统中关闭它,让您的应用提供完整的用户界面来通知。

当然,这种新的侦听器的API文档,在此链接



Answer 4:

如果延长的NotificationListener和做自己的东西,在回调这是可能的: https://developer.android.com/reference/android/service/notification/NotificationListenerService.html



文章来源: Detect if notification has been deleted