Tasker 高级场景 —— 按应用启停、按网络切换、定时更新 hosts
前置:基础集成已通
假设你已经完成了 Tasker 自动化 里的基础配置:
- AdAway Automation 辅助 APP 已装
- Tasker 里有两个基础任务:启用 AdAway、禁用 AdAway
下面是进阶场景。
场景 A:游戏时段临时关闭 AdAway
某些游戏在 AdAway 下会加载慢、登录失败(因为游戏本身需要连接某些域名来做防作弊验证)。你不想整个游戏期间都手动开关,让 Tasker 自动处理。
Tasker 配置
Profile 1:游戏启动时关 AdAway
- Type: Application
- Applications: 选中你要玩的游戏(可以多选)
- Enter Task: 禁用 AdAway(发送 STOP)
- Exit Task: 启用 AdAway(发送 START)
Profile 2:游戏进行中持续保持禁用(防止 AdAway 自动重新启用)
- Type: Application → 同样的游戏
- Task: 每隔 5 分钟发一次 STOP(防止 AdAway 的自动应用把 hosts 重新应用)
为什么需要 Profile 2
AdAway 的偏好里可以开"自动应用 hosts 更新",如果更新时间刚好在游戏期间,AdAway 会把 hosts 重新应用上去,游戏又卡了。Profile 2 保证游戏期间 AdAway 始终处于禁用状态。
场景 B:按网络类型自动切换
家里 WiFi 环境:开 AdAway。出门移动网络:关 AdAway(移动网络 APN 可能有代理绕过 hosts 拦截,AdAway 拦不住)。
Profile 1:连到家里 WiFi → 开 AdAway
- State: WiFi Connected → SSID = 家里 SSID
- Task: START
- Exit Task: STOP
Profile 2:切到移动数据 → 关 AdAway
- State: Mobile Data Connected
- Task: STOP
两个 Profile 同时运行,谁先触发谁生效。
场景 C:测速前自动禁用
测速 APP 运行期间 AdAway 可能影响测速准确性(hosts 文件越大 DNS 查询越慢)。
Profile:测速 APP 运行时
- Application: 测速 APP(比如 Speedtest by Ookla)
- Enter: STOP
- Exit: START
场景 D:每天凌晨定时更新 hosts
AdAway 偏好里可以设自动更新 hosts,但如果你想精确控制更新时间、或者更新前先禁用 AdAway、更新完再启用:
Task:更新 AdAway Hosts
- Send Intent:
COMMAND:STOP(先禁用) - Wait: 5 秒
- Launch App: AdAway(把 AdAway 切到前台)
- AutoInput Action:模拟点击 Hosts 源里的"刷新"按钮(需要 AutoInput 插件)
- Wait: 10 秒
- Send Intent:
COMMAND:START(重新启用)
Profile:每天凌晨执行
- Time: 02:00 每天
- Task: 更新 AdAway Hosts
⚠️ AutoInput 是 Tasker 的付费插件,用于模拟界面点击。如果不想买,可以只做第 1、2、6 步(禁用 → 等 → 启用),让 AdAway 自己的后台更新在这期间执行。
场景 E:电量过低时自动禁用 AdAway
VPN 模式下 AdAway 会耗额外电量。电量低于某个阈值(比如 15%)时自动禁用,充电时自动启用。
Profile 1:电量低 → 禁用
- State: Battery Level → Below 15%
- Task: STOP
- Exit Task(充电时):START
Profile 2:充电时 → 启用
- State: Battery Charging → Any
- Task: START
两个 Profile 配合。
场景 F:特定时段(深夜)启用 AdAway 下载 hosts
深夜网络通常更快更稳,适合下载 hosts 源:
Profile:每天 03:00
- Time: 03:00
- Task:
- 等 WiFi 连接(如果不在 WiFi 上等 1 分钟再试)
- Send Intent:
COMMAND:STOP - Wait: 10 秒
- AutoInput 刷新 hosts 源(可选)
- Send Intent:
COMMAND:START
注意事项
- Tasker 要保持激活:如果 Tasker 自己被杀后台,所有自动化失效
- 小米/三星 ROM 需要允许 Tasker 自启动 + 后台活动,详见 开机自启与前台服务 里的国产 ROM 特殊设置
- AdAway Automation 辅助 APP 同样要保持后台活跃——它要转发 Intent,被杀就转不了
- 不要同时手动开关 AdAway:如果你手动禁用了,Tasker 可能在你不知情时又启用了。建议明确约定:"AdAway 开关全由 Tasker 管,我不管"
除了 Tasker 还有什么
- MacroDroid:免费版不支持 Send Broadcast Intent,付费版支持
- Automate:Flow 里加 Send Broadcast 节点,免费版也能做
- AutoApps:Tasker 的扩展套装,更灵活的 Intent 发送
- Home Assistant + Tasker 联动:如果你有智能家居,可以在家 HA 自动化里触发手机上的 Tasker 任务
调试技巧
- 在 Tasker 任务里加 Flash Action 显示调试信息(比如 "START sent"),确认 Intent 真发出去了
- 用 Logcat 抓 AdAway 的日志(
adb logcat | grep AdAway),看它有没有收到 Broadcast - 从简单场景开始(单独一个 Profile 测试),跑通了再加更多
