脚本重启 不重启autojs 事件“累积(重复)”
监听问题
问题复现以及处理
function callbackToast(toast) {
console.log("111")
if (className("android.widget.ImageView").id("error").findOnce()) {
log("Toast内容:" + toast.getText() + " 包名:" + toast.getPackageName())
}
}
threads.start(function () {
events.observeToast();
events.on("toast", callbackToast);
events.on("exit", function () {
events.removeListener("toast", callbackToast);
})
})
// 当脚本启动两次,并且没有重启Autojs App时,注册的监听器会被两个不同的event实例所调用(猜测逻辑),因此出现“累积、重复”的打印情况
// 处理方法:将注册事件监听器程序放到线程中执行(参考以上代码)
17:46:37.889/D: 111
17:46:37.970/D: Toast内容:xxx 包名:com.xxx.android
17:46:37.974/D: 111
17:46:37.985/D: Toast内容:xxx 包名:com.xxx.android