【问题标题】:Accessibility Events not recognized by Accessibility service in Android 2.3(GB)Android 2.3(GB) 中的辅助功能服务无法识别辅助功能事件
【发布时间】:2012-12-13 05:04:48
【问题描述】:

我的代码适用于 4 以上的 Android 版本,但在 Android 2.2 或 2.3 中我无法检测到任何事件。 Android 日志显示该服务正在运行,但每当我触发一个事件时,它都无法被辅助功能服务识别。 在以下代码中:

public void onAccessibilityEvent(AccessibilityEvent event)
{       
    Log.i("abc","------service running---------");

    final int eventType = event.getEventType();

    switch(eventType)
    {
        case AccessibilityEvent.TYPE_VIEW_CLICKED :
                //do something
                break;
        }
}

我也无法获得Log "------service running---------"。 我错过了什么。是否需要进行任何更改才能在不同版本的 android 上运行相同的代码。

【问题讨论】:

    标签: android android-service accessibility android-a11y


    【解决方案1】:

    您需要通过在 onServiceConnected() 中设置服务的 AccessibilityServiceInfo 来手动指定服务的事件和反馈类型。

    以下是 TalkBack 的示例:

    @Override
    public void onServiceConnected() {
        AccessibilityServiceInfo info = new AccessibilityServiceInfo();
        info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
        info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
        info.notificationTimeout = 0;
        info.flags = AccessibilityServiceInfo.DEFAULT;
        setServiceInfo(info);
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      • 2016-05-28
      相关资源
      最近更新 更多