活动太多了

时间:2012-11-01 23:41:27

标签: android accessibility

我想为通知区域中显示的每个新通知获取一个事件。为了做到这一点,我使用accessibilityEvent,如下所示。 我的问题是我遇到了太多事件。我甚至得到了自己的应用程序事件。但其中许多(大多数)不是关于通知。如果手机正在充电,我会每隔10秒钟开机一次。在模拟器中,我每隔2秒(或多或少)从我的应用程序中获取一个事件。

所以问题是,有没有办法知道任务栏中是否显示新通知? 或者,我如何浏览所有与通知无关的事件?

这是我使用的代码:

在清单中:

<service android:name=".MyAccessibilityEventClass" android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
   <intent-filter >
      <action android:name="android.accessibilityservice.AccessibilityService" />
   </intent-filter>
   <meta-data
      android:name="android.accessibilityservice"
      android:resource="@xml/accessibilityservice" />
</service>

文件res / xml / accessibilityservice.xml:

   机器人:accessibilityEventTypes = “typeNotificationStateChanged”    机器人:accessibilityFeedbackType = “feedbackSpoken”    机器人:notificationTimeout = “100” /&GT;

在MyAccessibilityEventClass中:

@Override public void onAccessibilityEvent(AccessibilityEvent event)
{   if(event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)
    {  final String s = String.valueOf(event.getPackageName());
       ShowToast(s);  <-- Too many messages because too many events
    }
}

谢谢大家

0 个答案:

没有答案