AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED是否适用于Jelly Bean?

时间:2012-07-18 13:59:48

标签: android notifications accessibility android-4.2-jelly-bean

我正在运行一项服务来收集辅助功能事件。在Jelly Bean中,它没有捕获TYPE_NOTIFICATION_STATE_CHANGED事件的任何变化。我按照教程但没有...

这是我的代码:

@Override
protected void onServiceConnected() {
    super.onServiceConnected();

    AccessibilityServiceInfo localAccessibilityServiceInfo = new AccessibilityServiceInfo();
    localAccessibilityServiceInfo.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;          
    localAccessibilityServiceInfo.notificationTimeout = 80L;
    localAccessibilityServiceInfo.feedbackType = AccessibilityServiceInfo.DEFAULT;
    setServiceInfo(localAccessibilityServiceInfo);
}

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    if(event.getEventType() ==  AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)
        doSomething();

}

2 个答案:

答案 0 :(得分:1)

在我设法让这项工作的方式上看到我的帖子AccessibilityService is started but does not receive AccessibilityEvents on JellyBean

出于某种原因,注册事件的声明性xml似乎有效,但是使用代码注册它们(就像之前的ICS必须的版本一样)似乎并没有接受事件。

答案 1 :(得分:0)

是。在Android的所有版本中,至少从2.0开始编码我的应用程序时,它可能就是你所说的。见https://gist.github.com/1909616