一款只读、离线、完全本地的 Android 通知收集 App。它不像传统「免打扰」工具那样屏蔽通知,而是把所有收到的通知按你自定义的规则归类收纳到一个统一的「收件箱」里——验证码、取件码、银行动账、物流更新、快递柜……一目了然,找消息不用再去翻每个 App。
- 通知分组收件箱:按关键字或正则匹配通知标题/正文,自动归入对应分组(如「验证码」「取件码」)。一个 App = 一个分组收件箱,所有信息集中可查。
- 验证码 / 取件码智能提取:内置正则在通知正文里定位 4–8 位验证码、带短线的取件号(如
15-2-2679、30-63583),并按「关键语义前后置护栏」避开误抓(年份、手机号、门牌号不会被误识别)。 - 同日同取件码去重:同一取件号当天被短信、App、微信三方重复推送时,只入库一条,避免列表被刷屏。
- 常用分组模板:内置「验证码 5 分钟自动置灰」「取件码(含顺丰/中通/京东/极兔等十余家物流关键词)」「银行动账」「快递物流」4 个预置规则,一键添加即可用。
- 分组有效期:可给分组设过期分钟数(如「验证码 5 分钟」),过期后自动置灰、提醒你这条已经过期。
- 左滑手势:左滑通知条出现微信式大色块菜单——「已读/恢复」(蓝)、「删除」(红),菜单占行 1/3 宽、内容区保留 2/3。
- 取件码卡片视图:取件码分组以卡片形式展示每条通知——第一行大号加粗取件码、第二行快递公司名(中通/圆通/韵达/极兔…)、第三行取件点地址(如「某小区X栋X室」/「菜鸟驿站」),分级清晰、一眼定位。
- 拖拽排序:首页长按任意分组进入编辑模式,整列上下摆动,按住右侧横杠拖动排序,点保存生效。
- 回收站:超过 N 天(默认 14 天,可在设置里改)的通知自动移入回收站,左滑「恢复」或「删除」,防爆仓。
- 设置 & 备份:历史保留天数可调;当前分组设置可导出为 zip 备份,也可从备份包恢复(适合换机或重装)。
- 关于:版本、开发者信息一目了然。
- 完全离线、无网络权限:App 不申请 INTERNET 权限,所有数据只存在本机 SQLite,不上传任何服务器。
- 只读监听:通过 Android 系统的「通知使用权」(NotificationListenerService)只读接收通知,不拦截、不删除原始通知,第三方 App 行为不受影响。
- 声明
QUERY_ALL_PACKAGES:因为要匹配任意 App 的通知文本(不仅是你手填的几个)。这是 Android 11+ 的硬性要求,意味着不能上架 Google Play;本 App 定位就是自用 / 小范围侧载。
| 首页 | 分组详情 |
|---|---|
![]() |
![]() |
| 模板 | 回收站 | 设置 |
|---|---|---|
![]() |
![]() |
![]() |
仅适用于 Android 7.0+。由于本 App 声明
QUERY_ALL_PACKAGES,无法上架 Google Play,请手动侧载。
- 手机开启「未知来源安装」或对应品牌的「安装外部来源应用」权限。
- 从本仓库 Releases 页(https://github.com/wq198155/NotifyCollector/releases)下载
NotifyCollector-1.0.apk传到手机。 - 点击 APK 完成安装。
- 首次打开 App,按引导进入系统「通知使用权」页面,开启「通知收集器」的权限。
- 在「设置 → 模板」里一键添加预置分组(如「验证码」「取件码」),或在首页点右下「+」新建分组。
- 下载:https://github.com/wq198155/NotifyCollector/releases 获取最新
NotifyCollector-1.10.apk(已签名,可直接侧载) - 大小:约 11.8 MB(含钉钉进步体字体 2.1 MB)
- SHA-256:
f6efcf87e6f921ab2b700696f343997877ae5db2b3e6524e4330dba6a3a0de43 - 签名:用 Android 调试密钥签名(仅供自用 / 侧载宣传,未上架)。如需正式分发请自行配置 release 签名。
- 字体:全 App 统一使用「钉钉进步体」(单一字重 Regular)
- 最低系统:Android 7.0(API 24)
- 目标系统:Android 14(API 34)
- 本 App 不申请任何网络权限,不连接互联网,不向任何服务器上传数据。
- 所有通知内容仅存储在用户设备本地的 Room(SQLite)数据库。
- 详见 PrivacyPolicy.md(或 GitHub 上对应文件)。
- Kotlin + Jetpack Compose + Material 3
- Room(SQLite,WAL)+ NotificationListenerService(只读监听)
- 单 Activity + Navigation Compose 路由
- 无任何第三方网络库 / 分析 SDK / 推送 SDK
想自己改、自己构建?见 docs/DEVELOPMENT.md。
- v1.10:地址解析边缘用例加固。补充「放置于」起点词;尾部噪声增加「请/代收/代取」(修复无标点短信「…便利店请凭码取件」残留「请」);新增主语剥离,修复无起点标记短信「您的快递已由丰巢柜代收」整句被当地址。回归测试扩到 21 条样本
- v1.9:公司名改为取正文中出现位置最靠前的关键词(原来按关键词表顺序取,导致「您的快递中通,已到…室顺丰」被误判为顺丰)
- v1.8:取件码卡片地址改为取到句子结束。原实现遇到「室」就截断,导致「…8栋101室顺丰」被砍成「…8栋101」;同时收紧「号」为「数字+号」(避免银行卡短信「尾号1234」误判),并加「必须含强地址特征」校验
- v1.7:首页左滑「编辑」去掉二次确认框,直达编辑页(仅「删除」保留二次确认);取件码卡片复制按钮移到取件码后面(时间改到卡片右上角单独成行);取件码字号加大到 headlineLarge
- v1.6:取件码卡片「复制」按钮,点击把取件码写入剪贴板
- v1.5:取件码匹配规则移除「快捷」歧义关键词(避免「快捷支付」类通知被误抓);展示用的公司名表同步移除「快捷」,避免正文含「快捷」二字的通知被误标为快捷快递
- v1.4:卡片「快递公司名」字号加大(titleSmall → titleMedium),一眼看清是哪个快递
- v1.3:卡片时间前加时钟图标,地点前加地点针图标;卡片之间留上下间距(移除卡片间的分隔线)
- v1.2:卡片中「取件码」右侧新增短信收到时间(MM-dd HH:mm)
- v1.1:取件码分组新增卡片视图(取件码 / 公司名 / 取件点三行)
- v1.0
- 开发者:smartWQ
自用作品,欢迎基于此项目思路自部署、自修改、自推广。如果觉得好用,欢迎转发给同样被验证码/取件码分散到 N 个 App 里折磨的朋友。




