【问题标题】:Does AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED work on Jelly Bean?AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED 是否适用于果冻豆?
【发布时间】:2012-07-18 13:59:47
【问题描述】:

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

}

【问题讨论】:

  • 改写问题
  • 您确定您的服务已连接?尝试在 onServiceConnected() 中记录一些内容,例如android.util.Log.e("test", "started");

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


【解决方案1】:

请参阅我在此处AccessibilityService is started but does not receive AccessibilityEvents on JellyBean 的帖子,了解我设法使其工作的方式

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

【讨论】:

    【解决方案2】:

    是的。至少从我开始编写我的应用程序的 2.0 开始,所有版本的 Android 都有可能完全符合您的要求。看这里https://gist.github.com/1909616

    【讨论】:

    • 这个回复没有回答我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2012-11-10
    • 2013-05-21
    • 1970-01-01
    • 2012-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多