AutoJs6 中文文档 下载 App

Tasker 插件集成 — 与安卓最强自动化应用联动

Tasker 是什么

Tasker 是 Android 平台最强大的自动化应用,允许用户根据各种条件(时间、位置、事件、应用等)触发预设的操作。AutoJs6 可以作为 Tasker 的插件,把 JavaScript 自动化能力接入 Tasker 的规则引擎。

┌─────────────────────────┐
│        Tasker           │
│  (条件判断 / 触发规则)    │
└──────────┬──────────────┘
           │ 触发插件动作
           ▼
┌─────────────────────────┐
│        AutoJs6          │
│  (JavaScript 脚本执行)   │
└─────────────────────────┘

插件模式 vs 独立模式

模式运行方式适合场景
独立模式AutoJs6 自己管理脚本生命周期日常使用、独立任务
Tasker 插件Tasker 触发执行 AutoJs6 脚本条件驱动的自动化

配置步骤

前置条件

  1. 安装 Tasker(Play Store 或 GitHub)
  2. 安装 AutoJs6
  3. 确保 AutoJs6 无障碍服务已开启

在 Tasker 中添加 AutoJs6 动作

步骤:

  1. 打开 Tasker
  2. 创建或编辑一个 Profile(条件配置文件)
  3. 添加触发条件(如「时间」「应用」「事件」)
  4. 进入 Task(任务)编辑
  5. 点击 + 添加动作 → 选择「插件」→ 找 AutoJs6
  6. 配置要执行的脚本路径和参数
  7. 保存并启用

配置界面

Tasker → 新建 Task → Action → Plugin → AutoJs6

脚本路径: /sdcard/AutoJs6/scripts/tasker_example.js
执行模式: 前台 / 后台 / 弹窗
参数传递: key1=value1,key2=value2

在脚本中接收 Tasker 参数

// Tasker 传入的参数通过全局对象获取
// 具体 API 以 AutoJs6 文档为准

// 方法一:tasker 对象(如果存在)
if (typeof tasker !== "undefined") {
    let params = tasker.getParams();
    console.log("Tasker 参数: " + JSON.stringify(params));
}

// 方法二:检查 Intent(Android 原生方式)
let intent = context.getIntent();
if (intent) {
    let extras = intent.getExtras();
    if (extras) {
        extras.keySet().forEach(key => {
            console.log(key + " = " + extras.get(key));
        });
    }
}

实战联动场景

场景一:到达家时自动静音 + 打开 Wi-Fi

Tasker Profile:
  条件: 位置 - 家(GPS 或 Wi-Fi SSID)
  任务:
    1. 设置铃声为振动
    2. 打开 Wi-Fi
    3. [AutoJs6 插件] 运行自动签到脚本
// tasker_checkin.js — 被 Tasker 触发
// 打开常用应用完成每日签到

let apps = ["微博", "知乎", "百度"];

apps.forEach(app => {
    toast("签到: " + app);
    app.launchApp(app);
    sleep(1500);
    
    // 找到签到按钮点击
    let btn = textContains("签到").findOne(3000);
    if (btn) {
        btn.click();
        toast(app + " 签到完成");
    } else {
        toast(app + " 签到按钮未找到");
    }
    
    sleep(1000);
});

home();
toast("全部签到完成");

场景二:充电时自动清理后台

Tasker Profile:
  条件: 事件 - 电源 - 充电器连接
  任务:
    [AutoJs6 插件] 运行清理脚本
// tasker_cleanup.js — 充电时运行

toast("开始清理后台...");

// 获取最近任务列表(需要 Shell 权限)
// Root 方式
shell("su -c 'am kill-all'");

// 或逐个强制停止
let apps = [
    "com.example.chat",
    "com.example.social",
    "com.example.game"
];

apps.forEach(pkg => {
    app.kill(pkg);
});

toast("清理完成");

场景三:特定应用启动时自动操作

Tasker Profile:
  条件: 应用 - 微博(前台)
  任务:
    [AutoJs6 插件] 自动点赞脚本(延迟 2 秒执行)
// tasker_weibo_like.js — 微博启动后自动点赞

sleep(2000); // 等应用加载

// 找到点赞按钮(不同版本可能需要调整选择器)
let likeBtn = id("like_icon").findOne(5000);
if (likeBtn) {
    // 如果还没点赞,就点赞
    let container = likeBtn.parent();
    let liked = container.findOne(textContains("已赞"));
    if (!liked) {
        likeBtn.click();
        toast("已点赞");
    }
}

场景四:定时批量任务

Tasker Profile:
  条件: 时间 - 每天 08:00
  任务:
    [AutoJs6 插件] 运行晨间自动流程脚本
// tasker_morning.js — 每天早上 8 点执行

toast("晨间自动开始");

// 1. 同步各平台数据
// 2. 完成每日签到
// 3. 清理缓存
// 4. 报告天气

// ... 各种自动化操作

toast("晨间自动完成");

触发方式对比

触发方式优势劣势
Tasker 插件条件判断灵活、无需脚本常驻需要额外安装 Tasker
AutoJs6 定时独立、单应用条件判断能力有限
手动运行最可控无法自动触发
Boot 启动开机自启Android 后台限制可能影响

常见问题

Tasker 触发后 AutoJs6 不执行

检查清单:

  1. AutoJs6 无障碍服务是否开启
  2. Tasker 和 AutoJs6 是否都在电池白名单
  3. AutoJs6 版本是否支持插件模式
  4. 脚本路径是否正确(绝对路径)
  5. 在 AutoJs6 内手动运行同一脚本是否正常

脚本运行太快 / 太慢

Tasker 会等待脚本执行完再进入下一步。如果脚本卡住,可以设置超时:

参数传递格式

// Tasker 中配置参数
key1=value1,key2=value2

// 脚本中读取
// 具体 API 以 AutoJs6 Tasker 插件文档为准

退出码

脚本执行完可以通过 exit(code) 返回退出码,Tasker 可以根据退出码决定下一步:

// 成功退出
exit(0);

// 失败退出
exit(1);

组合示例:完整的时间条件自动化

时间线:
  06:30 → Tasker 触发 → AutoJs6 脚本(检查天气 + 设置闹钟)
  07:00 → Tasker 触发 → AutoJs6 脚本(打开新闻 APP)
  08:00 → Tasker 触发 → AutoJs6 脚本(批量签到)
  12:00 → Tasker 触发 → AutoJs6 脚本(提醒休息)
  18:00 → Tasker 触发 → AutoJs6 脚本(关闭通知、开启勿扰)
  22:00 → Tasker 触发 → AutoJs6 脚本(清理后台)

每个时间点一个独立脚本,逻辑清晰、互不干扰。