通知与定时任务——让脚本按计划自动执行
定时任务
一次性延迟
setTimeout(function() {
toast("3 秒后到了");
}, 3000);
周期执行
var timer = setInterval(function() {
log("每分钟心跳一次");
}, 60000); // 60 秒
// 停止定时器
clearInterval(timer);
更精确的调度(Pro / AutoJs6 支持)
// 每天早上 8 点执行
timers.addDailyTask({
hour: 8,
minute: 0,
task: function() {
toast("开始每日签到");
runSignIn();
}
});
// 每小时第 10 分钟执行
timers.addTask({
path: "/sdcard/Scripts/check_balance.js",
hour: [8, 10, 12, 14, 16, 18, 20],
minute: 10,
});
条件触发(事件监听)
// 当检测到微信通知栏出现时触发
notifications.observe();
events.on("notification", function(n) {
if (n.packageName == "com.tencent.mm") {
log("微信新消息:" + n.text);
// 自动打开读取等
}
});
发送通知
// 在通知栏显示一条通知
notifications.send({
title: "Auto.js",
content: "脚本执行完成",
subText: "签到 3 个应用",
ongoing: false
});
实战:无人值守每日签到
auto.waitFor();
// 注册每日定时任务
timers.addDailyTask({
hour: 8,
minute: 0,
task: function() {
["淘宝", "京东", "支付宝"].forEach(function(app) {
launchApp(app);
sleep(2000);
if (text("签到").findOne(2000)) {
text("签到").click();
sleep(1500);
log(app + " 签到完成");
}
back();
sleep(500);
});
notifications.send({ title: "Auto.js 签到", content: "今日全部完成" });
}
});
toast("定时任务已注册");
开机自启
把打包后的 APK(或脚本)加入系统自启动:设置 → 应用管理 → Auto.js → 自启动。这样设备重启后脚本会自动运行。
定时任务的可靠性依赖于 Auto.js 进程持续存活——前台服务 + 电池白名单是基础保障。