【问题标题】:Clear another app's notification via the Accessibility API通过 Accessibility API 清除其他应用的通知
【发布时间】:2012-07-26 01:18:16
【问题描述】:

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

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

谢谢!

【问题讨论】:

    标签: android api service notifications accessibility


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:
      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已经定义,可以取消。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 1970-01-01
        • 2019-09-28
        • 2021-09-14
        • 1970-01-01
        相关资源
        最近更新 更多