当前位置: 首页 > article >正文

[autojs]ui线程中更新控件的值的问题

"ui";
ui.layout(
    <vertical>
        <button id="autoFloatWindow" text="开启悬浮窗" textSize="15sp" />
        <button id="autoService" text="开启无障碍服务" textSize="15sp" />
        <button id="fw" text="创建悬浮窗" />
        <button id="fw2" text="悬浮窗滚动文字" />
    </vertical>
);
ui.autoService.on("click", function () {
    //弹出无障碍服务设置
    app.startActivity({
        action: "android.settings.ACCESSIBILITY_SETTINGS"
    });


});

ui.autoFloatWindow.on("click", function () {
    //申请悬浮窗
    importClass(android.content.Intent);
    importClass(android.net.Uri);
    importClass(android.provider.Settings);
    var intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
        Uri.parse("package:" + context.getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    app.startActivity(intent);
});

ui.fw.on("click", function () {
    threads.start(function(){

           w = floaty.rawWindow(
            <frame gravity="center">
                <text id="text">悬浮文字</text>
            </frame>
        );
    });
});
ui.fw2.on("click", function () {
    threads.start(function(){
        w.setPosition(500, 500);
        w.setTouchable(false);
        ui.run(()=>{
        w.text.setText("123");
        });
        sleep(3000)
        ui.run(()=>{
        w.text.setText("over!");
        });
    });
});

总结:

1、不能直接在线程中更新控制值,否则会提示autojs Only the original thread that created a view hierarchy can touch its错误

2、要更新控制值需要使用ui.run进行操作,可以尝试去掉代码中ui.run看看效果。你会发现只能更新到123就开始报错了。


http://www.kler.cn/a/148552.html

相关文章:

  • Vector Optimization – Stride
  • ssm100医学生在线学习交流平台+vue(论文+源码)_kaic
  • 如何在Puppeteer中实现表单自动填写与提交:问卷调查
  • BERT配置详解1:构建强大的自然语言处理模型
  • Android 下内联汇编,Android Studio 汇编开发
  • AI写作(四)预训练语言模型:开启 AI 写作新时代(4/10)
  • 中小型公司如何搭建运维平台,rancher、kubersphere、rainbond
  • 漏洞环境靶场搭建(内含DVWA SQLi-LABS upload-labs等)
  • mybatis <include refid=“xxx“></include>
  • 【每日一题】1457. 二叉树中的伪回文路径-2023.11.25
  • 142. 环形链表 II --力扣 --JAVA
  • linux 提权
  • XML Schema中的simpleContent 元素
  • os和path模块
  • NI自动化测试系统用电必备攻略,电源规划大揭秘
  • 成为AI产品经理——TPR、FPR、ROC、AUC
  • vue3-09
  • 5.28每日一题(函数在区间有/无界的判断:相关定理(充分条件))
  • Kanna库代码示例
  • 股票技术从初级到高级,从实盘进阶到摩尔缠论
  • Unity优化——脚本优化策略3
  • mac Terminal config proxy 【mac 终端配置代理】
  • Oracle(2-5)Usage and Configuration of the Oracle Shared Server
  • Vue 3 面试经验分享
  • CSS 属性列表
  • 手写字符识别神经网络项目总结