Skip to content

监听无障碍服务

方法名

setListener

注意

监听后无障碍的回调事件都会在改方法中返回

用法

  • 用法如下:
    js
    module.setListener({
      // 监听的应用包名
      packageNames: ['com.tencent.mm', 'com.tencent.mobileqq']
    }, res => {
      this.writeLog("监听无障碍服务:" + JSON.stringify(res))
    })
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    packageNamesArray要监听的应用程序包名

回调

  • 示例

    json
    {
      "data": {
        "type": "onSuccessListener"
      },
      "message": "监听成功",
      "code": 0
    }
    
    {
      "data": {
        "type": "onSuccess"
      },
      "message": "服务开启成功",
      "code": 0
    }
    
    {
      "data": {
        "type": "onEvent",
        "data": {
          "type": "viewScrolled",
          "eventData": {
            "scrollX": 0,
            "scrollY": 0,
            "fromIndex": 0,
            "className": "android.widget.ListView",
            "text": [],
            "nodeInfo": {
              "windowId": 1475,
              "parentNode": {
                "windowId": 1475,
                "childCount": 16,
                "className": "android.widget.FrameLayout",
                "isClickable": false,
                "isScrollable": false,
                "isEditable": false
              },
              "id": "com.tencent.mm:id/j8g",
              "childCount": 36,
              "className": "android.widget.ListView",
              "isClickable": false,
              "isScrollable": true,
              "isEditable": false
            },
            "windowId": 1475,
            "packageName": "com.tencent.mm",
            "currentItemIndex": -1,
            "itemCount": 313,
            "maxScrollY": 0,
            "maxScrollX": 0,
            "eventTime": 1200903714,
            "recordCount": 0
          }
        }
      },
      "message": "",
      "code": 0
    }
    
    {
      "data": {
        "type": "onEvent",
        "data": {
          "type": "viewClick",
          "eventData": {
            "scrollX": 0,
            "packageName": "com.tencent.mm",
            "scrollY": 0,
            "fromIndex": -1,
            "className": "android.widget.TextView",
            "text": [],
            "nodeInfo": {
              "parentNode": {
                "windowId": 1475,
                "id": "com.tencent.mm:id/bn1",
                "childCount": 3,
                "className": "android.widget.RelativeLayout",
                "isClickable": false,
                "isScrollable": false,
                "isEditable": false
              },
              "id": "com.tencent.mm:id/bkl",
              "windowId": 1475,
              "text": {
                "mText": "9XHX-VKLY-3XBT-XVSE",
                "mSpanIndex": 0,
                "mSpans": [],
                "mSpanCount": 0,
                "mSpanData": []
              },
              "childCount": 0,
              "className": "android.widget.TextView",
              "isClickable": true,
              "isScrollable": false,
              "isEditable": false
            },
            "windowId": 1475,
            "currentItemIndex": -1,
            "itemCount": -1,
            "maxScrollY": 0,
            "maxScrollX": 0,
            "contentDescription": {
              "mText": "9XHX-VKLY-3XBT-XVSE",
              "mSpanIndex": 0,
              "mSpans": [],
              "mSpanCount": 0,
              "mSpanData": []
            },
            "eventTime": 1201066037,
            "recordCount": 0
          }
        }
      },
      "message": "",
      "code": 0
    }
  • 回调说明:

    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    data.typeString类型,具体请参考下方说明
    data.dataObject无障碍操作事件数据,在data.type=onEvent时返回
    data.data.typeString无障碍操作事件类型,具体类型请参考下方说明
    data.data.eventDataObject当前操作的节点信息
    codeInteger返回类型,0.成功,其他:失败

    data.type说明

    名称描述
    onCancelListener取消监听
    onError错误事件
    onEvent无障碍事件(监听的应用状态事件)
    onStop服务停止
    onSuccess服务启动成功
    onSuccessListener监听无障碍成功

    data.data.type说明

    名称描述
    viewClick视图被点击
    notificationStateChanged当通知栏状态发生改变时
    announcement产生一个通知事件
    assistReadingContext辅助用户读取当前屏幕事件
    gestureDetectionEnd结束手势检测
    gestureDetectionStart开始手势检测
    touchExplorationGestureEnd触摸浏览事件结束
    touchExplorationGestureStart触摸浏览事件开始
    touchInteractionEnd触摸屏幕事件结束
    touchInteractionStart触摸屏幕事件开始
    viewAccessibilityFocused视图成为无障碍焦点
    viewAccessibilityFocusCleared视图无障碍焦点被清除
    viewContextClicked视图上下文点击事件
    viewFocused视图获得焦点
    viewHoverEnter鼠标悬停到视图上
    viewHoverExit鼠标离开视图
    viewLongClicked视图被长按
    viewScrolled视图滚动
    viewSelected视图被选中
    viewTextChanged视图文本发送变化
    viewTextSelectionChanged视图选中的文本发生改变
    viewTextTraversedAtMovementGranularity在给定的移动粒度下遍历视图文本的事件
    windowsChanged窗体发生变化
    windowContentChanged窗体内容发生变化
    windowsStateChanged窗体状态发生变化