2012-07-26 77 views
0

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

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

谢谢!

回答

2

不,你不能清除其他应用程序的通知(幸好)。

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,可以取消它。

相关问题