0

我的应用程序正在使用 Accessibility API 来捕获其他应用程序生成的通知并对其进行操作。我想添加一个可以取消原始通知(由其他应用程序生成)的功能。

使用通知管理器的常用方法不起作用,因为您必须是创建通知的人才能清除它。可访问性 API 让我可以读取不同应用程序的通知,但它是否也允许您清除它?

谢谢!

4

2 回答 2

2

不,您不能清除其他应用程序的通知(谢天谢地)。

于 2012-07-26T02:11:35.917 回答
0
public void onAccessibilityEvent(AccessibilityEvent event) {
        // TODO Auto-generated method stub
        if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) {
            //Do something, eg getting packagename
            final String packagename = String.valueOf(event.getPackageName());
            final String text = String.valueOf(event.getText());

            if(TARGET_PACKAGE.equals(packagename)){
                Notification n = (Notification) event.getParcelableData();

                try{
                        n.deleteIntent.send(this,0,new Intent());
                }catch(Exception e){e.printStackTrace();}
        }
} 

如果通知的 deleteIntent 已经定义,可以取消它。

于 2013-11-11T02:47:27.443 回答