背景
我有一台常年插电的旧 Android,希望把它收到的通知、短信统一汇聚到日常使用的 IM 和邮箱,并且数据不经过任何第三方云。本文记录用 NotifyForward 搭建这条链路的完整过程与原理。
整体架构
源手机通知 → NotificationListenerService 捕获 → 本地规则引擎(应用过滤/关键词/去重)→ 通道投递(Bark / SMTP / Webhook)。 关键点:全链路在设备本地完成,没有中转服务器,也不需要注册账号。
一、通知捕获
基于 Android 标准 NotificationListenerService,无需 root:
- 普通应用通知直接读取通知栏内容;
- 短信不申请 SMS 权限,而是通过通知内容识别;
- 未接来电同样通过通知识别,不申请电话权限;
- 短信与未接来电转发默认关闭,需用户显式开启。
二、规则引擎
- 应用维度:白名单 / 黑名单 / 全部转发;
- 内容维度:关键词过滤、内容长度限制;
- 去重策略:普通通知 5 秒窗口去重,短信按消息体去重,未接来电按 key 去重,避免 IM 连续刷屏。
三、通道投递
- Bark:适合投递到 iPhone/iPad;
- SMTP:标准邮件协议,可投递到任意邮箱用于归档;
- Webhook:内置 Telegram、ntfy、Gotify、Discord、Slack、企业微信、钉钉、飞书预设,也支持自定义地址,开发者可以直接对接自建服务。
四、安全设计
通道凭据(如 Webhook 地址、SMTP 密码)通过 Android Keystore 生成密钥,使用 AES-256-GCM 加密后落盘;应用本身无网络服务端,卸载后数据随应用沙箱清除。
五、保活实践
通知转发是长跑任务:前台持久服务常驻 + 引导用户关闭电池优化 + 国产 ROM 自启动设置。应用已适配 Android 14 前台服务类型(special use),最低支持 Android 8.0。
六、可以怎么玩
- 个人告警:服务器/爬虫/家宽掉线,Webhook 到 Telegram;
- 双机协同:工作机通知走 Bark 到个人手机;
- 验证码归集:收码卡短信按关键词白名单转发到邮箱。
工具在 Google Play 搜索 NotifyForward 即可,无广告无内购,官网有逐屏文档www.jujumi.top/EasyNotifyF… Webhook 玩法。