自从 iOS 开放了 Widget 接口之后,很多「勇士」就探索 Widget 的各种可能性。比如前段时间很火的 Steve,让你不开锁屏就能玩到 Chrome 中内置的恐龙跳小游戏。
iOS 的 Widget apps 中,最常见的一种类别应该是 Launcher 类吧。它通过一种特殊的方式,来启动应用或应用的功能。比如,可以通过通知中心 Launcher 来一键启动微信扫一扫等等。
Android 6.0 中,双指从顶部划下,或者从顶部向下拉开两次,会展开快速开关面板。不出意外的话,默认的开关面板是下面这样的。
而其实,开关面板中的开关是可以自定义的,自定义后的开关面板可以自己设定图标的显示与消失。配合一些 app,用户甚至可以自定义一些新的开关。
但光能自定义开关还不够。我们的目的是为了调用微信扫一扫,但微信扫一扫没有提供供其他 app 调用的快捷方式(唯一添加的方式是进入微信扫一扫,点击右上角的选项,然后选择添加至桌面)。这时候,就需要另外一些 app 来辅助调用它。
Okay, let’s do it.
首先,我们要打开开关面板的自定义功能
由于这个功能是一个隐藏功能,打开它需要费一点劲。双指从上往下滑动,打开开关面板
按住开关面板的齿轮按钮,至少五秒
之后,我们就成功打开系统界面调谐器了,它位于系统设置的底部。在这里,你可以对系统界面作出许多有意思的调整。现在我们要动刀的是里面的「快捷设置」。
进入到快捷设置中,通过长按某个图标并拖动,你可以自定义它们的位置,以及决定它们是否显示出来。现在你可以先玩玩它。
我们的目的是添加一个自定义快捷方式,我说过,实现这个功能需要先安装一个 app。
为快捷面板添加自定义快捷方式
可以为开关面板提供自定义快捷方式功能的 app 名叫做 Custom Quick Settings。通过这款 app,就可以为快捷栏添加自定义的快捷方式了。
安装好 CQS 之后,启动它。初次启动,它会引导你添加第一个快捷按钮。先暂时忽略教程,直接点下面的 Done 按钮,开始自定义一个简单的快捷方式。接下来,你会看到这样的界面。Tile Title:按钮名称
Tile Icon:按钮图标
Tile Click Action:按钮点击后触发效果
Tile Long Click Action:按钮长按后触发效果
Collapse Notification Tray:触发按钮后退出快速开关界面
Unlock Device:触发按钮后解锁设备
经过以上几个属性简单的设置,就可以创建一个具有自定义功能的快捷开关面板的按钮了。然而,直接在这里设置是没有用的,我们还需要通知系统说,需要在面板添加这样一个按钮。具体方法如下。进入系统设置-系统界面调谐器
进入快捷设置
点击添加图块-播送图块
填写 CUSTOMTILE0,确定
这样,我们刚才新建的按钮就出现在了快速面板中。
将微信扫一扫集成到快速开关面板中
需要注意的是,集成微信扫一扫功能需要 CQS 的高级功能,两美元不到,诸君可以自己考虑是否花这个钱。如果你决定不花钱,CQS 的基础功能也是可以好好玩一阵的。
先来说说这个方法调用微信扫一扫是什么原理。通过 CQS,我们可以用前文所说的「特殊方式」,直接调用微信的扫一扫功能。如果你想先试试这个「特殊方式」,可以点击这里试玩一下。
这个特殊方式叫做 URL Scheme。你可以将 URL Scheme 理解成一种很神奇的指令格式,只要是在手机范围内,无论任何人都可以使用这个玩意儿调用应用功能(只要这个应用能接收指令)。微信扫一扫的 URL Scheme 指令是这样的。
weixin://dl/scan
回到改快捷方式上来。我们进入到 CQS 中我们刚才新建的开关中。我们将名字改成「微信扫一扫」,图标改成扫描 QR Code 的样子。然后在 Tile Click Action 中,选择 Launch URL,将上面这段代码输入进去……
不对劲。它居然说不支持?嗯,实测 CQS 不支持 HTTP 以及 HTTPS 之外的调用……
这时候我们需要找一个「跳板」,让它可以调用到这条指令。继续下载一个完全免费(这次是真的……)又很小的工具,名叫做 Url Shortcut。
下载安装之后,回到 CQS,继续编辑这个磁贴。在 Tile Click Action 中,这次我们选择 Launch Other,选择 URL Shortcut。然后就会到达一个新的界面。
Label 随便输入一点东西,URL 填写上面的那条 URL Scheme。
保存。然后我们划下快捷面板,这次点击微信扫一扫试一下……成功调用!
有关 URL Scheme 的更多玩法……
除了微信扫一扫,微信朋友圈、支付宝扫一扫和付款码,都可以用这个方法制作快捷方式。以下贴出相关的 URL Scheme,通过上面的方法炮制一下,来玩坏 Android 快捷面板吧 :-P。微信朋友圈:weixin://dl/moments
支付宝扫码:alipayqr://platformapi/startapp?saId=10000007
支付宝付款码:alipayqr://platformapi/startapp?saId=20000056
嗯,看上去这篇满满干货,其实是水了一篇呢……
该文章在非商业使用时遵循 CC BY-SA 4.0 协议。除知乎产品内的商业使用请联系作者支付稿酬。
作者微信公众账户 ID:AstrianFM。欢迎关注!