快人一步:使用 Tasker+AutoX 一键直达健康码

没人能比我更快打开健康码

在疫情常态化防控的当下,健康码似乎已经成为我们日常生活的一部分。

你也许经历过这样的场景:进入写字楼、商场时被要求出示健康码、或需要扫码登记行程。你掏出手机,找到微信/支付宝,搜索健康码小程序。等待程序加载完成后,还需要再手动选择一次。整个过程耗时 1-2 分钟,你就这样傻傻地站在原地操作,感受极差。

1旧版北京健康宝每次打开都要点一次“确认”

那有没有快一点的方法呢?有的,不管是 iOS 还是 Android 都可以添加健康码小程序快捷方式到桌面,一键打开小程序。还可以通过设置,双击手机背面快速打开小程序(iOS教程Android教程)。

还能再给力一点吗?可以的。在 Android 手机上,我们可以通过 Tasker 触发 AutoX 脚本,让程序自动点击页面元素,实现真正的“一键直达”,效果如下图所示。

209c7cc97b33413800089702b7140e2b.gif一键直达健康宝扫码功能

AutoX 是什么

AutoX 是一个开源的 Android 自动化工具,使用 JS 作为脚本语言。主要特性如下:

  • 基于无障碍服务实现,无需 Root 权限即可完成自动化操作;
  • 可以作为 Tasker 插件,与 Tasker 结合使用;
  • 有完善的文档和示例程序,容易上手;
  • 提供 JS IDE 和 VSCode 插件,用于编码和调试。

在 AutoX 中运行脚本

  1. 安装并设置权限:从 AutoX Release 页 下载最新版本,并授予无障碍设置、后台运行等权限。
  2. 在 AutoX 中新建脚本,贴入以下示例脚本,保存并运行。
app.startActivity({ 
    action: "VIEW", 
    data: "alipays://platformapi/startapp?appId=2021001135679870"     
}); 
 
// 等待小程序加载完成:页面常驻元素出现则认为页面已加载完成 
while(!(text("本人健康码自查询").exists() && text("本人信息扫码登记").exists())){ 
    sleep(1); 
} 
 
// 未登录状态持续点击“确定”以跳过各种声明、登录选项 
while(!text("此处修改为你的姓名").exists() ){ 
    if(text("确定").exists()){ 
        click("确定"); 
    } 
    sleep(1); 
} 
 
// 登录完成后(你的名字出现在页面上)进入目标功能 
while(!click("本人信息扫码登记"));

注:脚本涉及到的功能对应官方文档:意图IntentUiSelectorUiObject

添加脚本快捷方式到桌面

方式一:长按桌面,添加 AutoX 的小部件,并选择脚本。

1添加 AutoX 小部件到桌面

此处注意选择左侧小部件,我的手机上选择右侧的小部件会添加失败。

方式二:在 Tasker 中添加 AutoX 脚本任务,并在桌面添加 Tasker 快捷方式。这样操作的好处是可以为任务设置图标。

在 Tasker 中添加 AutoX 脚本

设置方式:新建任务→添加动作→插件→Autox.js→配置→选择脚本。

为 Tasker 任务设置图标

设置方式:在 Tasker 任务编辑页面,点击底部的“网格”状按钮,即可设置图标。

1为 Tasker 任务设置图标

添加 Tasker 快捷方式到桌面

设置方式:在 Tasker 任务列表页面,按 Back 键返回桌面(注意不是 Home 键),添加“任务快捷方式”(左数第三个小部件)

1添加 Tasker 快捷方式到桌面

附:一些和正文相关的拓展内容

AutoX 的前世今生

AutoX 的前身是开源项目 Auto.js,项目的最早版本可以回溯到 2017年1月。

2020年3月左右,原作者 hyb1996 声明停止对免费版的维护,开始维护收费的 Pro 版。

Pro 版有很多新 Feature,如支持 shizuku,可以在非 root 状态下执行高权限 shell 命令。但是对软件无障碍功能做了限制,无法在黑名单范围内的应用中运行自动点击等功能。

2020年7月左右,新作者 kkevsekk1 接管项目,在原有基础上对程序进行了若干工程化改造,主要服务开发人员。

衷心祝愿 Auto.js 两个分支后续都能有良性发展。

作为 Tasker 插件,AutoX 与 AutoInput 的差异是什么?

作为 Android 自动化的关注者,我在阅读我派的 这篇文章 后购买并使用 AutoInput 并轻度使用了一段时间。作为 Tasker 插件,两者都能实现“使用无障碍服务模拟用户操作”的功能。

AutoInput 的优势:上手门槛低,用户无需接触代码。

AutoX 的优势有:免费、性能更好,以及基于代码带来的优势——开发效率更高,可复用性更强(可在脚本内引用其他脚本、使用其他人封装的 Modules),更适合 Power user 使用。

正如 JSBox 作者所说:我这一类人是不适合在 Workflow 上面拖来拖去的,因为 Workflow 提供的并不是完备的编程能力,这对我这个程序员来说并不是一个完美的状态,我希望我的效率工具是可以完全由自己决定他的功能,他的界面,他的一切。

北京健康宝图标资源包

已提取北京健康宝常用功能的图标,方便大家使用,点这里下载

支付宝小程序 appid 获取方法

大部分常用小程序都能在网上查到对应 ID,搜索 “支付宝”+”appid”+”小程序名称” 即可,善用前人智慧。

从分享链接中提取:进入支付宝小程序→点击右上角“更多”→分享→复制链接,得到短链接如:https://ur.alipay.com/2IcAMP

在 PC 端浏览器中访问短链接,页面第一次跳转后快速按 Esc,在浏览器地址栏得到长链接如:https://render.alipay.com/p/s/i/?scheme=alipays%3A%2F%2Fplatformapi%2Fstartapp%3FappId%3D2021001135679870%26page%3Dpages%252Fhome%252Findex%26enbsv%3D0.2.2103202323.33%26chInfo%3Dch_share__chsub_CopyLink

长链接中“appId%3D”后即为小程序 appid。

1
0

扫码分享

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Menu