作为一个演进了十几年的操作系统,Android 一直在为用户提供更好的通知体验这件事情上努力:Android 8.0 引入的通知分类、Android 9.0 对勿扰模式的优化和改进、Android 10 对通知优先级的简化以及「专注模式」……
但 Google 的努力自然也离不开开发者的配合,即便有美好的规范和设计在上,开发者适配、跟进如果出现问题,用户体验也很难保证:在 通知分类 特性推出 3 年后,我们的手机上依然有不少应用没有进行适配,即便进行了适配,在「一般通知」「其他通知」和「重要通知」这类简单粗暴的分类命名之后,依然还藏着不少「挂羊头卖狗肉」的无关通知推送。
所以也不难理解部分国内厂商采用默认关闭所有新安装应用的通知开关这种极端方式来保证基础通知体验的行为。在 Android 系统和 app 能够提供的过滤标准不足以帮助我们有效过滤垃圾通知推送的时候,借助「外力」来对通知进行过滤是个不错的选择,比如这篇文章的主角:通知滤盒。
通知滤盒给出的解决方式是在选择作用范围的基础上,应用关键词或正则表达式匹配的「规则」来对目标通知进行「消除」或「静音」。换句话说,它把「哪些应用」的「哪些通知」会被屏蔽或静音的选择权完全交给了用户,举个例子,因为短信应用的通知分类不可能覆盖到所有的发送方号码,但我们却可以换个思路,借助通知滤盒屏蔽掉「来自 短信应用
的包含 退订
关键字」的短信通知。
虽然操作起来学习成本和复杂度更高,但换来的是通知系统完整的控制权1。更重要的是,除了基于关键词的过滤,通知滤盒还支持学习成本更高但效果更为出色的正则表达式匹配过滤,赋予了通知滤盒进行更细致过滤的能力。
通过正则表达式对通知内容进行匹配,我们能够设置出「含 A 但不含 B」「以 C 开头以 D 结尾」或者「E 出现了 X 次」这样的关键词过滤条件。如对 QQ 的通知使用:
^(?!白名单群名称)(?=.*?(@全体成员|有人@我)).*$
就可以过滤掉非白名单群聊中提及你的消息。另外如你所见,开发者还提供了针对极少数应用的强制静音功能。
关于正则表达式的具体语法在网络上有着许多详细的说明和讲解,在此不作赘述。编写好你的正则表达式后,还可以搜索一些在线的正则表达式测试工具进行匹配测试,帮助你对表达式进行调整。你还可以在酷安等社区看到关于规则的分享,比如上面的正则表达式就出自酷安用户 @Jkkoi 的评论。此外应用内也提供了规则的导入导出功能,方便进行备份和分享。
如果说上面介绍的规则是通知滤盒中「滤」的部分,那么对于通知历史的完整保存则是「盒」的含义。
相比于 Android 内置的入口隐藏,不管是可回溯历史还是直观程度都十分有限的「通知日志」,通知滤盒不但能直观显示通知内容,提供最长可达三十天的通知历史回溯和搜索,还能对通知记录进行统计和分析。
此外我们还能在通知滤盒中还能重新打开已经划去的通知2,即便因为误操作错过了通知,也可以在通知历史中原样找回。另外,聪明的同学一定想到了,完整的通知历史意味着我们拥有了「文本防撤回」的能力,至于找回规则设置不当而误杀的通知就更不在话下了。通知滤盒可以说是手机通知的绝佳容器。
最后,和作者的其他应用一样,通知滤盒也采用了 Material Design 2 设计风格,相信你也能从截图中看到这款应用优秀的界面设计。
你可以在 Google Play 商店和 酷安 免费下载通知滤盒,应用无广告存在 $3.99/¥30 一次性内购,目前新用户可免费全功能试用 90 天。同时作者正在酷安有偿征求新英文名,感兴趣的朋友可以前去提出自己的奇思妙想。