无障碍服务
2022-12-22 14:26:23 最后更新
用法:
固定模块名为 ays_service 可创建模块 ays_service.mjava,代码如下:

--事件方法 on 实时回调变化事件
function on(e)

--获取事件类型
local b = ays:gtype(e)
--如果事件类型
if b == 32 or b == 2048 then

  --获取事件源的对象节点列表
  local node = ays:gall(e)
  --判断事件来源是不是包名为com.iapp.app的应用
  local gpn = ays:gpn(e)
  if "com.iapp.app" == gpn then

     --判断类名,根据指定的类名进行不同的操作
     local gcn = ays:gcn(e)
     if "com.iapp.app.HomeMian" == gcn then

        --从对象列表搜索文本为“创建”的对象,并点击该对象
        ays:cktext(node, 16, "创建")

     elseif "com.iapp.app.HomeAdd" == gcn then

        --根据ID获取指定的节点
        local b = ays:id(node, "com.iapp.app:id/ui_home_add_title")
    --设置节点的文本框输入指定字符
        ays:enter(b, "name")
        --根据ID获取指定的节点
        b = ays:id(node, "com.iapp.app:id/ui_home_add_remark")
    --设置节点的文本框输入指定字符
        ays:enter(b, "remark")
        --从对象列表搜索指定ID的对象,并点击该节点对象
        ays:ckid(node, 16, "com.iapp.app:id/ui_home_add_go")
     end
  end
  --释放根源节点
  ays:re(node)

end
end

--初始化事件方法 onsc 启动时回调一次
function onsc()

import 'com.iapp.app.ays'

local pns = "com.iapp.app"
--设置监听指定的包名,可以设置多个包名用逗号隔开如"com.xxx.a,com.xxx.b"
ays.pns = pns
--设置相应时间
ays.nt = 1000
end

然后 权限配置管理》application配置 将下面的配置粘贴进去:
    <service
            android:name="com.iapp.app.ays"
            android:label="iapp开发工具无障碍辅助功能"
            android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
            <intent-filter>
                <action android:name="android.accessibilityservice.AccessibilityService"/>
            </intent-filter>
            <meta-data
                android:name="android.accessibilityservice"
                android:resource="@xml/aya_config"/>
        </service>

最后,