目录
踩过的坑
- 如果有界面,那么监听通知需要放在线程里。
- webview 注入js的js文件需要改后缀,如果还是js,会被加密导致无法使用
- webview 内页面引用静态文件可以使用相对路径
- 如果多次调用 even.on,event.emit 会触发多次。可以用 even.removeAllListeners进行清除。
- console.show 调用时范围只是当前线程。
- 不要在UI线程内死循环,要重新开启一个线程,不然会卡死
- 无障碍服务权限申请可以使用auto,直接跳转到设置页。
- 通知使用服务第一次调用后会提示一次之后,如果没有给予权限。大概率不再弹窗,并且不会报错。如果一直没有给权限,而且无法弹窗需要引导用户手动开启,并重启脚本。
- 引入ui的话,拦截back 要使用一下代码
ui.emitter.on("back_pressed", e => {
if (!isCanFinish) {
isCanFinish = true;
isCanFinishTimeout = setTimeout(() => {
toastLog("再按一次退出");
isCanFinish = false;
}, 400);
e.consumed = true;
} else {
isCanFinishTimeout && clearTimeout(isCanFinishTimeout);
e.consumed = false;
};
});
autojs 版本
autojs 4.1.1