0

我有一项服务正在运行以收集可访问性事件。在 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();

}

4

2 回答 2

1

在此处查看我的帖子AccessibilityService 已启动,但在我设法使其正常工作的方式上没有收到 JellyBean 上的 AccessibilityEvents

出于某种原因,用于注册事件的声明性 xml 似乎有效,但使用代码注册它们(如 ICS 之前的版本必须)似乎并没有发现这些事件。

于 2012-08-21T09:23:09.190 回答
0

是的。至少从我开始编写应用程序的 2.0 开始,所有版本的 Android 都有可能完全按照您所说的进行。见这里https://gist.github.com/1909616

于 2012-07-26T01:28:33.537 回答