本期选题灵感来源于 @会飞的三羊店长 

在很多人眼中,Android 手机的勿扰模式都是一个可以减轻通知焦虑、隔绝不必要打扰的存在,因此我们往往也会将其用于睡眠、会议等等场景之中。

近期三羊同学前来求助,却问到了一个我很少去思考的使用场景:面试。如果你在短期内需要常常参加各种面试、寻求工作机会,面试过程中将手机设置为勿扰模式可以说是很有必要的。但与此同时,我们又不得不考虑勿扰模式开启期间可能会有工作机会敲门的情况:

如何才能第一时间对勿扰模式下的未接来电进行处理,做到既不需要分心处理电话、又能及时而礼貌地给出回应呢?

确认解决思路

上述需求抛来面前的第一时间,我想到的首要解决方案是各种智能助理,比如 Google Assistant、小爱同学等。

但即便在不考虑机型限制的情况下,这类解决方案的可用性也不算高,甚至可以说存在一定风险。

Google Assistant 目前可以针对来电进行自动 Call Screen,无论是骚扰电话、诈骗电话、陌生号码还是其它私人号码,都可以借助人工智能的力量代为接听并录音。

但不支持中文是它最大的硬伤,因此即便我愿意相信 Google Assistant 强大的 AI 能力,它在非英语语言国家和地区还是派不上用场。

MIUI 的拨号应用则内置了「自动接听」功能,从设置来看功能也相当丰富,甚至还有贴心的响铃时间设置。但这个功能的可靠性欠佳,我自己测试了好几次,拨号方完全听不到小爱说了什么,实际效果就是「这个人接了电话但他似乎什么都没说」。

所以我最后将目光落在了通用、可靠的 Tasker 身上。

因为不是系统级的功能整合,为了减少后期搭建工作的压力,使用 Tasker 来应对上述问题前我们必须将整个解决思路限制在尽可能简单、绝对可通过 Tasker 功能实现的范围内——具体而言,我们将处理勿扰模式下的来电方式从即时接听转变为及时短信回复

思路转变后,具体的流程就会清晰一些了:勿扰模式下的电话虽然我们不能当场处理,但未接来电的通知是一定会存在的(勿扰模式只是屏蔽掉了通知的听觉、振动和视觉效果)。以这个通知为原点,我们可以:

  1. 检测是否有未接来电通知
  2. 检测是否处于勿扰模式
  3. 获取未接来电拨号方的电话号码
  4. 向获取到的号码发送预设短信:抱歉现在正在面试,稍后电话回复您,谢谢……

看起来是一个可行的方案。在这套配置流程中,「未接来电」在 Tasker 中属于比较常见的「事件」,「发送短信」也有预置的动作可以直接使用。

因此整个配置需要解决的核心问题来到了勿扰模式的判断与未接来电号码的获取,这里就要请出本文的主角 —— 内建变量—— 来为我们「排忧解难」了。

了解内建变量

变量,顾名思义,它们的内容和数值都不是一成不变的

这也是我们用它来进行勿扰模式判断和未接来电号码获取的原因,比如在 Android 系统中,勿扰模式的开启、关闭、优先等等状态是不固定的,我们的解决方案需要排除掉那些常规模式下的未接来电 —— 比如那个并非错过了而是假装没看见的来电。

而在 Tasker 中,变量又分为可以由用户手动设定、赋值的用户变量和无需用户单独设置、可以直接使用的内建变量。前者可以由用户根据需求自行创建,后者则由 Tasker 提供,如:

  • %burger 是我们自行创建的、用来代表路中南今天吃了几个汉堡的用户变量
  • %CELLSIG 则是直接可用的、用来代表当前手机信号(signal)强度的内建变量

注:除了用户变量与内建变量,Tasker 中的变量还分为全局变量(global variables)与局部变量(local variables),感兴趣的朋友可以前往 这里 了解。感谢 @axehuman 的斧正!

因为内容、数值不确定,变量通常与判断条件搭配使用,比如路中南吃的汉堡数量大于等于六,再比如在上面的讨论话题中,勿扰模式处于什么状态、未接来电的来电号码是多少等等。

幸运的是,勿扰模式和来电号码二者在 Tasker 中都是可以直接使用的内建变量,其中勿扰模式对应的内建变量名为 %INTERRUPT,根据系统设置的不同,它的内容可以是以下字段:

  • none:勿扰模式开启,屏蔽任何打扰
  • priority:优先打扰模式,比如在勿扰设置中给部分联系人「开白」
  • alarms:仅闹钟,社畜千万不能睡过头啊
  • all:勿扰模式关闭,允许所有打扰

来电号码对应的变量名则是 %CNUM,它的数值即来电者的电话号码。

搭建配置方案

了解上述知识后,我们就可以着手搭建配置了。

条件 1:勿扰模式判定

在 Tasker 的「配置文件」界面中点击右下角的添加按钮,然后依次选择「状态 > 变量 > 变量值」,你会看到如下界面:

组合变量与判定

我们在「条件」一栏中的左侧填入变量名称 %INTERRUPT,然后根据喜好将判定方式和判定条件组合起来,比如:

  • %INTTERRUPT ~ none(Android 6.0 以下版本)
  • %INTTERRUPT ~ alarm(Android 6.0 及以上版本)
  • %INTTERRUPT !~ all(任意 Android 5.0+ 版本)

它们都表示勿扰模式开启

任务:自动发送短信

完成后点击左上角返回,主界面随即会弹出「创建任务」菜单,因此我们不妨就自定一个任务名(如「自动发送短信」)先着手将最终执行的任务设置好。另一个判定条件可以稍后再补上。

顺手创建任务

在「任务编辑」页面中,点击右下角的添加按钮,然后通过弹窗底部的「筛选器」搜索并添加「发送短信」任务。在随后打开的「发送短信」操作修改页面中:

  • 数字(号码):填入内建变量 %CNUM
  • 内容:展现你的礼貌与风度
  • SIM 卡:针对多卡用户,选择用于发送短信的 SIM 卡

填写完成后点击左上角返回两次,直到回到主界面。

条件 2:

进行完上述设置后,我们再来补全整套配置的最后一个触发条件:未接来电。

长按条件区域,然后在弹出菜单中选择「添加 > 事件」,在事件类别选择窗口中搜索并添加「未接来电」:

在「未接来电」的事件修改界面中,我们可以将特定的联系人、联系人群组设定为触发条件,根据实际情况自行发挥即可。这里我们不做任何修改,直接点击左上角返回主界面。

此时整个自动化配置就已经搭建好了。

效果测试

给创建好的配置和任务起一个好听的名字,然后就可以打开手机的勿扰模式让朋友打电话给自己试试效果了。

最后,本文所创建的配置方案其实也仅适用于主动开启勿扰模式后需要对未接来电进行回复的场景,利用 Tasker 中的联系人筛选,我们其实还可以让这套配置的适用范围更加灵活、精准。这个就留给大家自行发掘了。

 

欢迎在评论区分享、交流,如果你有类似的经验、玩法和教程,欢迎向 Android 玩法 栏目进行投稿。

关联阅读:

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

> 想参加年度征文活动,申请成为少数派作者?冲!