不懂正则表达式也能上手,像 IFTTT 那样管理 Android 通知:BuzzKill

Android 的通知管理已经成为了老生常谈的话题,不管是 Google 和一众手机厂商还是第三方的开发者们都给出了不少的解决方案,现在这个领域又来了一位新玩家:出自Flamingo、 天气时间线 、Bouncer 开发者 Sam Ruston 之手的 BuzzKill。

初见 BuzzKill 很难不想到少数派之前介绍过的另一款应用「通知滤盒」,两者都使用由用户手动设计的规则来过滤通知,都给出了对通知历史的记录、回溯和统计功能。

两者之间的最大的不同之处在于,通知滤盒对通知的处理止于「消除」「静音」和「推迟」三个操作,而 BuzzKill 给出了多种操作选项,在帮你「消除」或「静音」掉无用的通知之外,还能设定 自动回复定制振动方式重要通知重复提醒 等操作。

如果说通知滤盒的目标是让你免受烦人通知的打扰,那么 BuzzKill 则希望能在让你享受清静之余,顺手整理你的通知栏,来让重要的通知更容易获取你的注意,无用的通知再也不见。

BuzzKill 提供了两类判断条件,分别是「包含/不包含」和「全部/任意」,其中「全部/任意」相当于「且」和「或」的关系。

而在需要设定复杂情景下的规则时,Buzzfeed 引入了一个名为「组(Group)」的概念,一个复杂规则就是一个组之间的「套娃」 :如果将一个规则视为一个表达式,那么一个组就相当于一个括号,表达式中既有括号之间的嵌套,也有平级括号之间的运算,通过将不同括号内简单的条件判断综合起来,就能够进行复杂的匹配。

例如当我们需要设定 含 A 且不含 B 的规则时,我们可以将其拆分为 [(含 A)且(不含 B)] ,即「 包含全部『包含 A』和『不包含 B』 」。

从式子中可以看出来减少一次是否包含 A 的判断对结果并无影响,这里我们可以省去这次判断,变为「包含全部『A』和『不包含 B』」。根据这个式子我们在应用中进行设置:首先选择「包含全部」项确定条件,然后添加关键词 A;考虑到无法仅用一个关键词实现「不包含 B」的判断,我们在这里添加一个组,将其条件设置为「不包含任意」,然后添加关键词 B;之后返回到初始的层级应用规则,完成整个设置流程。

设定「含 A 且不含 B」规则

实际应用中可以将 A 和 B 再替换为组,结合各种条件来实现更加复杂的判断。如果你已经是逻辑运算方面的老手,还请按着自己的习惯去分解需求和设定规则。

「套娃」理念乍看上去有点绕,但 BuzzKill 这种添加「组」的方式实则降低了正则表达式的理解和使用门槛。虽然我们无法设定「以 C 开头以 D 结尾」这样更复杂的规则,可以说是为了易用性而在功能性上做的妥协。

此外,应用对于中文的分词可能存在一些问题,在设定规则前请尽可能进行测试,避免设定的规则不起作用或是达不到预期作用的情况。

除了手动设定规则,BuzzKill 中还另设了「探索」页,其中是应用内推荐的规则示例,可以通过点击轻松地激活。这些规则也是 BuzzKill 关于「我能干什么」的说明。尽管目前其中只有由开发者提供的三条实例,但是相信随着应用的逐渐迭代,探索页中会有越来越多的使用规则。或许有一天用户也会有机会向其中贡献自己的规则,让我们拭目以待。

BuzzKill 探索页

BuzzKill 给出的记录通知历史的功能中,按时间回溯、搜索、通知统计、恢复通知等功能自然是一个不落,此外还可以根据通知被划去的时间进行排序以及对被按照相应规则处理的通知进行集合。

在 BuzzKill 的设置中提供了添加生物验证锁、控制通知历史记录范围、对通知可进行操作的细节调整等选项。

BuzzKill 通知历史和设置页

作为 Sam Ruston 的作品,BuzzKill 保持了他手下应用一贯的高质量。在近来备受关注的隐私保护方面,由于 BuzzKill 涉及到「通知使用权」这一敏感权限,开发者在应用介绍中保证 BuzzKill 没有广告跟踪器、不含网络访问权限,自然也不会有数据的传输,以切实保护用户隐私。在界面设计上,BuzzKill 堪称 Material Design 的另一个标杆之作。从活泼却不繁杂的配色到无处不在却恰到好处的动画,BuzzKill 继续展现着 Sam Ruston 设计上的功力。

让原本枯燥的通知历史变得更有交互感

BuzzKill 已在 Google Play 上架,售价 $2.49,无应用内购。目前应用内仅有英文支持,考虑到作者的之前的应用大都有中文适配,在意语言适配的读者可以暂时观望。

关联阅读: App+1 | 解决 Android 通知管理难题,用正则表达式过滤无关推送:通知滤盒

> 下载少数派客户端、关注少数派公众号 ,发现更多新酷应用 😎