通过辅助功能API清除其他应用的通知

时间:2012-07-26 01:18:17

标签: android api service notifications accessibility

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

使用通知管理器的常用方法无效,因为您必须是创建通知才能清除它的人。辅助功能API让我可以阅读其他应用的通知,但它是否允许您清除它?

谢谢!

2 个答案:

答案 0 :(得分:2)

不,你无法清除其他应用的通知(谢天谢地)。

答案 1 :(得分: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,可以取消它。