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

//事件方法 on 实时回调变化事件
fn on(e)
//获取事件类型
java(b, ays, "com.iapp.app.ays.gtype", "android.view.accessibility.AccessibilityEvent", e)
//如果事件类型
f(b == 32 || b == 2048){
  //获取事件源的对象节点列表
  java(node, ays, "com.iapp.app.ays.gall", "AccessibilityEvent", e)
  //判断事件来源是不是包名为com.iapp.app的应用
  java(gpn, ays, "com.iapp.app.ays.gpn", "AccessibilityEvent", e)
  f("com.iapp.app" == gpn)
  {
     //判断类名,根据指定的类名进行不同的操作
     java(gcn, ays, "com.iapp.app.ays.gcn", "AccessibilityEvent", e)
     f("com.iapp.app.HomeMian" == gcn)
     {
        //从对象列表搜索文本为“创建”的对象,并点击该对象
        java(b, ays, "com.iapp.app.ays.cktext", "AccessibilityNodeInfo", node, "int", 16, "String", "创建")
     }
     else f("com.iapp.app.HomeAdd" == gcn)
     {
        //根据ID获取指定的节点
        java(b, ays, "com.iapp.app.ays.id", "AccessibilityNodeInfo", node, "String", "com.iapp.app:id/ui_home_add_title")
    //设置节点的文本框输入指定字符
        java(c, ays, "com.iapp.app.ays.enter", "java.util.List", b, "String", "name")
        //根据ID获取指定的节点
        java(b, ays, "com.iapp.app.ays.id", "AccessibilityNodeInfo", node, "String", "com.iapp.app:id/ui_home_add_remark")
    //设置节点的文本框输入指定字符
        java(c, ays, "com.iapp.app.ays.enter", "java.util.List", b, "String", "remark")
        //从对象列表搜索指定ID的对象,并点击该节点对象
        java(b, ays, "com.iapp.app.ays.ckid", "AccessibilityNodeInfo", node, "int", 16, "String", "com.iapp.app:id/ui_home_add_go")
     }
  }
  //释放根源节点
  java(b, ays, "com.iapp.app.ays.re", "AccessibilityNodeInfo", node)

}

end fn

//初始化事件方法 onsc 启动时回调一次
fn onsc()
s pns = "com.iapp.app"
//设置监听指定的包名,可以设置多个包名用逗号隔开如"com.xxx.a,com.xxx.b"
javass(a, null, "com.iapp.app.ays.pns", pns)
//设置相应时间
javass(a, null, "com.iapp.app.ays.nt", 1000)
end fn

然后 权限配置管理》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>

最后,