悬浮窗启动/停止线程

var window = floaty.window(
<vertical>
<button id="bt" text="运行"/>
<text id="text" textSize="16sp" textColor="#f44336"/>
</vertical>
);

window.exitOnClose();

window.bt.click(() => {
if (window.bt.getText() == "运行") {

    //执行线程方法
        ab(1);
   
    window.bt.setText("停止");
} else {
   
        ab(0);
 
    window.bt.setText("运行");
}

});

setInterval(() => {
//对控件的操作需要在UI线程中执行
ui.run(function() {
window.text.setText(dynamicText());
});
}, 1000);

//定义线程变量
var th = null;
//线程启动与停止方法
function ab(name) {
//如果name等于1启动线程
if (name == 1) {
th = threads.start(function() {
while (true) {
sleep(3000);
toast("我是线程");
}
});
} else {
//停止线程
th.interrupt();
}
}

//获取时间
function dynamicText() {
var date = new Date();
var str = util.format("时间: %d:%d:%d\n", date.getHours(), date.getMinutes(), date.getSeconds());
return str;
}

管理员

有没有想过...如果直接 点 停止会怎么样?

@dcrclub 想过,应为button值一开始就是运行,所以它始终都会先执行运行,再执行停止

  • 3
    帖子
  • 319
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待