Matrix 首页推荐

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


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

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

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

旧版北京健康宝每次打开都要点一次「确认」

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

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

一键直达健康宝扫码功能

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 的小部件,并选择脚本。

添加 AutoX 小部件到桌面

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

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

在 Tasker 中添加 AutoX 脚本

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

为 Tasker 任务设置图标

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

为 Tasker 任务设置图标

添加 Tasker 快捷方式到桌面

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

添加 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。

> 下载少数派 客户端 、关注 少数派公众号 ,了解更妙的数字生活 🍃

> 想申请成为少数派作者?冲!