我希望能够收听发送到状态栏的通知,并拦截和暂停(暂时)这些通知。
我看过AccessabilityEvent。TYPE_NOTIFICATION_STATE_CHANGED和NotificationListenerService。
但是,我只是不希望在显示通知时收到通知,我想阻止显示通知。
我可以看到这可能是一个安全威胁,所以我可以理解它是否不可能。这可能吗?如果是这样,我该怎么做呢?
答案 0 :(得分:1)
我认为你使用NotificationListenerService正确。 Google已经在Android 4.3上提供了这些API,因此使用此方法的应用程序只适用于新设备。
在以下博文中,您可以找到使用NotificationListenerService可以执行的操作的示例:http://weimenglee.blogspot.ch/2014/03/android-tip-notification-listener.html
基本思想是实现onNotificationPosted()
方法,该方法为您提供StatusBarNotification
实例。然后,您应该可以使用this.cancelNotification(
notif.getPackageName(),
notif.getTag(),
notif.getId());
有关扩展内容以及如何实施这些方法的详细说明,请参阅博客文章。
希望这有帮助。