📘 网页版使用说明书

NotifyForward 使用说明书

一份完整的图文指南:从安装、授予权限,到配置 Bark / 邮件 / 短信 / Webhook 四通道、设置转发范围、处理机型排障与常见疑问。跟着做,你就能"不错过任何一条重要消息"。

一、简介与核心能力

NotifyForward 是一款本地运行的 Android 通知转发工具:把副机的通知、短信、未接来电,实时转发到你手边的设备(Bark / 邮件 / 短信 / Webhook)。隐私优先,不上传你的任何内容,无服务器、无账号。

通知转发

抓取你选定的 App 通知,发到 Bark / 邮件。支持应用过滤(白名单/黑名单),只转你关心的。

短信转发

本机短信转发到指定通道或手机号。双路去重,每条短信恰好转一次。默认关闭。

未接来电

通过通知通道提醒未接来电,无需任何电话/通话权限,连发同文案也分别提醒。默认关闭。

它最适合谁

  • 双机党:工作机塞包里,生活机在手上——客户消息、银行验证码、家人未接来电全汇到主手机。
  • 备份留存:把重要通知 / 短信转发到邮箱,长期留痕。
  • 断网兜底:短信通道无需网络,最后一环也不漏。
四条通道说明:Bark 适合向 iPhone / iPad 秒推;邮件适合跨平台留存;短信适合断网时的最后一环兜底(按运营商资费计费);Webhook 可转发到任意 HTTP/HTTPS 地址(自建服务、Node-RED、Home Assistant、企业微信/飞书机器人等)。四者可同时启用、各自独立开关。

二、安装与系统要求

系统要求

  • Android 8.0(API 26)及以上(minSdk 26)。
  • 目标 / 编译 SDK:36(Android 16),兼容到最新系统。
  • 需要联网(Bark / 邮件通道);短信通道走蜂窝网络,无需 Wi-Fi。

安装方式

  1. Google Play:在 Play 商店搜索 NotifyForward 安装(推荐,自动更新)。
  2. 安装完成后打开应用,进入首次设置流程(含隐私政策同意门禁)。
提示:首次打开后,App 会先展示隐私政策并征求你的同意,之后才会引导你完成权限授予与通道配置。也可随时从首页重新进入这些设置。

三、首次权限设置

转发能否稳定工作,取决于三类系统授权。任一缺失都会导致"漏转"。请按顺序完成:

3.0 隐私政策同意门禁(首启)

在一切之前,App 会先展示隐私政策并要求你明确同意。在你接受之前,App 不会转发任何内容,也不会申请任何敏感权限。设置这个门禁,是为了让你在授予任何权限前,先清楚了解 App 可能访问哪些数据、如何处理它们。

注意:同意状态仅保存在本机。若你重装或清除应用数据,门禁会再次出现——你的同意不会被发送到任何地方。

3.1 通知使用权(Notification Listener)

  • 作用:转发通知、识别未接来电都依赖它。没有它,App 什么都收不到。
  • 授予路径:首页若显示「需要权限」红条 → 点「授予权限」→ 在系统"通知使用权"列表里打开 NotifyForward
  • 判断是否已授予:首页状态卡显示绿色「服务运行中」;或 系统设置 → 通知 → 通知使用权 → NotifyForward 已开启。
  • 注意:部分品牌机会在"省电 / 清理"时自动收回该权限,需手动重新开启(见 §10 机型排障)。

3.2 短信权限(SEND_SMS / RECEIVE_SMS)

  • SEND_SMS:开启「短信」通道(把消息转发到另一个手机号)时必须授予,否则短信发不出去。
  • RECEIVE_SMS:开启「包含短信」开关时请求,用于通过系统广播接收短信(双路之一)。
  • 授予:首次点开短信通道或开启"包含短信"时会弹窗申请;也可在 系统设置 → 应用 → NotifyForward → 权限 中手动开启。
  • 默认关闭 + 说明弹窗两项短信功能默认都是关闭的。首次开启任一开关时,会弹出一次性说明对话框告知将访问哪些数据并请你确认——在同意前,任何短信数据都不会被转发。
  • 说明:未接来电不需要任何电话 / 通话权限,仅靠通知识别。

3.3 电池优化(必须关闭)

  • 为什么:Android 的 Doze / 厂商省电会在后台冻结服务,导致实时转发延迟甚至彻底停摆。
  • 操作:首页「电池优化」按钮 → 在系统电池设置里把 NotifyForward 设为 "不受限制 / 不允许电池优化"
  • 验证:设置后,锁屏静置 10–30 分钟,让人发一条微信 / 短信,确认仍能收到转发。
⚠️ 关键:电池优化是"转发不工作"的头号原因。若锁屏一段时间后完全不转发,九成是这一项没设好(详见 §10)。

四、主界面总览

首页把"是否在工作、转什么、转到哪"集中呈现,方便一眼掌控:

区域说明
状态卡显示「需要权限 / 服务已停止 / 服务运行中」;含通道数、累计转发数、历史数(点历史可查看)。
转发通道Bark / 邮件 / 短信 / Webhook 四个入口,带"已启用 N"标记。
转发范围事件类型:包含短信(默认关)、包含未接来电(默认关);应用过滤:全部 / 白名单 / 黑名单 + 「管理应用」。
快捷操作测试转发、通用设置。
电池优化一键跳转系统电池设置。
未配置目标的提示:若首页提示"未配置任何转发目标"且你又开了短信 / 未接来电开关,相关事件会被静默丢弃——请先添加并开启至少一个通道。
主界面上半部分——状态卡、通道、快捷操作
主界面 · 上
状态卡、通道、快捷操作、电池优化。
主界面下半部分——转发范围
主界面 · 下
转发范围:事件类型开关 + 应用过滤模式。

五、配置转发通道

每个通道可添加多个目标,各自独立开关。无可用目标时,相关事件类型会被静默丢弃(首页会黄色告警)。

5.1 Bark(向 iPhone / iPad 秒推)

服务器地址

形如 https://api.day.app 或自建地址。必须含 ://,否则无法保存 / 开启。

设备 Key

Bark App 中该设备的 key。完整推送地址 = 服务器地址 / 设备Key

推送样式

标题自动带 [应用名] 前缀,并按应用分组(group),默认铃声,不再发送 iOS 无法打开的跳转链接。

自建提示:可用 Finb/Bark 自部署,数据完全自控,契合"本地优先"理念。

Bark 通道配置界面
Bark 通道
服务器地址、设备 Key、推送样式。

5.2 邮件(SMTP,跨平台留存)

字段:SMTP 主机、端口、传输安全、发件账号、发件密码、收件人

传输安全(三选一)

  • AUTO(推荐):按端口自动判断——端口 465 → SSL;其他(如 587 / 25)→ STARTTLS。
  • SSL:强制 SSL(通常配 465)。
  • STARTTLS:强制 STARTTLS(通常配 587)。
服务商SMTP 主机端口安全
QQ 邮箱smtp.qq.com465 / 587SSL / STARTTLS
163 邮箱smtp.163.com465 / 994SSL
Gmailsmtp.gmail.com465 / 587SSL / STARTTLS
Outlooksmtp.office365.com587STARTTLS
  • 密码:多数邮箱需使用授权码 / 应用专用密码,而非登录密码(尤其 QQ、163)。
  • 连接测试:每个邮件目标提供「测试连接」按钮,会做真实 SMTP 握手 + 登录校验。
邮件通道配置界面
邮件通道
SMTP 主机 / 端口、传输安全、发件人、收件人、测试连接。

5.3 短信(SMS,断网兜底)

  • 目标手机号(必填):格式 ^+?\d{7,20}$,例如 +861380013800013800138000
  • 双卡过滤(SIM Slot):双卡机可指定只转发某张 SIM 收到的短信;全部 则不区分。卡槽无法确定时一律转发,避免漏消息。
  • ⚠️ 费用警告:短信通道每成功发送一条都会按运营商资费计费,可能产生费用,请谨慎开启并确认目标号码。
  • 默认关闭:短信通道与「包含短信」默认都是关闭的,需你主动开启并确认说明弹窗后才会生效。
✅ 验证可达:配置完任意通道,回到首页点「测试转发」即可发送一条样例消息(绕过一切开关与过滤),专用于确认通道能收到。
短信通道配置界面
短信通道
目标手机号与双卡卡槽过滤。

5.4 Webhook(自定义 HTTP 回调)

可转发到任意 HTTP/HTTPS 地址——自建服务、Node-RED、Home Assistant、企业微信/飞书机器人等。每个 Webhook 目标是独立目标,各自带开关。

URL

任意 http://https:// 地址,手机需能访问;局域网 / 自签名服务可对该目标单独勾选"跳过证书校验"(见下)。

请求方法

POST(默认)发 JSON 体;GET 把相同字段拼到 URL 上。字段完全一致。

Bearer Token(可选)

填写后作为 Authorization: Bearer <token> 发送,经 Android Keystore(AES-256-GCM)加密存储,绝不落明文。

跳过证书校验

仅对单个目标 opt-in(自签名 / 局域网),绝不全局,也不削弱 Bark / 邮件 / 短信。其它通道仍完整校验证书。

JSON 体 / query 字段固定为:eventIdeventTypesourcepackageNametitletexttimestamp。稳定的 eventId 便于你侧去重。失败自动重试 1 次(共 2 次),随后记入历史。

Webhook 通道配置界面
Webhook 通道
URL、方法、可选 Bearer Token,以及单目标跳过证书校验。

六、设置转发范围

首页「转发范围」合并区集中管理"转什么"。

6.1 事件类型开关

包含短信

默认关闭。开启(并确认说明弹窗)后,本机收到的短信会被转发(双路去重,见 §8,绝不重复)。

包含未接来电

默认关闭。开启(并确认说明弹窗)后,未接来电走通知转发(无需电话权限)。关闭后未接来电绝不泄漏到普通通知路径。

6.2 应用过滤模式

全部转发(ALL)

所有 App 的通知都转发(噪声较多)。

白名单(WHITELIST)

只转你加入且开启的 App(推荐双机党,半夜不被音乐 / 导航炸)。

黑名单(BLACKLIST)

除你屏蔽的 App 外都转发。

6.3 管理应用

  • 点「管理应用」进入 AppFilter 列表,增删条目 / 单条开关。
  • 过滤模式本身在主界面切换(AppFilter 页只读展示并提示回主界面改)。
应用过滤列表界面
应用过滤
增删 App、单条开关。
提示:未接来电与短信是独立事件类型,不受应用过滤影响,只看各自的开关。

七、通用设置(右上角 ⋮)

语言

支持 8 种界面语言,随系统语言自动切换,也可在「通用设置 → 语言」中应用内手动切换:

简体中文繁體中文English日本語한국어EspañolFrançaisالعربية

(阿拉伯语为 RTL,界面自动镜像。)

内容长度上限

  • 标题最大长度正文最大长度:各 1–5000,超长截断。
  • 作用:保护通道不被超长内容打断,尤其适合转发长网页通知 / 长短信。

关于

显示本应用的简短简介。

通用设置界面
通用设置
语言、内容长度上限、关于(右上角 ⋮)。

八、工作原理与省电机制

一句话原理

NotifyForward 在本地运行一个前台通知监听服务NotificationListenerService),读取本机通知与短信,由内部调度中枢 ForwardManager 判断后,并发发往你配置的 Bark / 邮件 / 短信 / Webhook 通道,并写入本地历史。没有中间服务器、没有账号。

省电设计

  • 后台转发判断全部走内存缓存(总开关 + 设置由 DataStore Flow 驱动,不读磁盘、不解密 Keystore),零 I/O、零解密。
  • 应用名走 LRU 缓存(上限 256,避免每条通知查 PackageManager),显著降低 CPU 与耗电。
  • 前台服务常驻但极轻量;实测待机增量可忽略。

去重机制

类型去重方式说明
普通通知5 秒内容去重窗口应用 + 标题 + 正文 5 秒内只转一次(聊天 App 常连发两次)。不同消息各自转发。
短信消息体去重(双路)广播 + 通知两路按消息体签名去重,每条短信恰好转一次。
未接来电通知 key 去重(30 分钟 TTL)按系统通知 key 去重;不同来电即使文案相同也分别转发(已修复"同文案互吞")。重连扫描不会重复转发仍在通知栏的同一通未接。
未接来电的实现:完全通过通知通道识别(依赖通知使用权),因此无需任何电话 / 通话权限,也不会触碰通话记录。

九、历史记录与测试转发

转发记录

每条成功 / 失败的转发都写入本地历史,含来源、标题、正文、各通道结果(成功 / 失败原因)。首页点「历史」卡片可查看;点单条可看详情。

累计转发计数

首页显示总转发条数;点计数旁的重置图标可清零(仅计数,不影响历史)。

测试转发

首页「测试转发」按钮发送一条样例消息,绕过总开关、事件类型与所有过滤器,仅用于验证通道能否收到。若测试能收到而正式转发收不到,说明是过滤 / 识别问题;否则是通道配置问题。

十、机型排障(转发不工作先看这)

国产 ROM 的后台限制是"漏转"的重灾区。按机型对照处理:

OPPO / realme / 一加(ColorOS)

NotifyForward 已修复 ColorOS 拨号未接来电被吞的问题。仍请确保:通知使用权已开 + 电池优化关闭 + 手机管家 → 权限隐私 → 自启动管理 允许 NotifyForward 自启动。

小米(MIUI / HyperOS)

设置 → 省电与电池 → 应用智能省电 → NotifyForward → 无限制;并允许自启动、悬浮窗权限按需开启。

华为 / 荣耀(EMUI / MagicOS)

手机管家 → 应用启动管理 → NotifyForward → 手动管理,允许自启动、关联启动、后台活动;电池优化设为"不允许"。

三星(One UI)

设备维护 → 电池 → 后台使用限制 → 把 NotifyForward 从"深度休眠"列表移除。通知使用权在 设置 → 通知 → 高级设置 → 通知使用权。

通用:服务被系统杀

现象:锁屏一段时间后完全不转发。处理:① 关电池优化;② 允许自启动 / 后台活动;③ 把 App 加入系统"不受限制"列表;④ 部分国产 ROM 需把 App 锁定在最近任务(下拉卡片加锁)。

自上而下排障清单

  1. 首页状态卡是否为绿色「服务运行中」?→ 否:授予通知使用权 / 点「启动服务」。
  2. 是否已关闭电池优化?→ 否:首页「电池优化」按钮处理。
  3. 通道是否已添加且开启?→ 否:去对应通道页添加并打开开关。
  4. 事件类型开关是否打开(短信 / 未接来电)?→ 二者默认都是关的——若想要这类事件转发,请打开开关并确认说明弹窗。
  5. 应用过滤是否误杀?→ 白名单模式请确认来源 App 已加入并开启;黑名单请确认未误加。
  6. 仍无效:用首页「测试转发」验证通道本身能否收到;能收到说明是过滤 / 识别问题,否则是通道配置问题。

十一、常见问题 FAQ

一定要两台手机吗?

不一定。常用于双机党汇聚副机消息;也适合把单台手机通知转发到邮件 / 另一设备做备份。

消息会被上传到服务器吗?

不会。完全本地运行,无服务器无账号。

转发会重复吗?

不会。普通通知 5 秒内容去重;短信双路按消息体去重;未接来电按通知 key 去重(不同来电即使文案相同也分别转发,已修复"同文案互吞")。

为什么收不到未接来电转发?

依次检查:①「包含未接来电」已开(默认是关的,需打开并确认说明弹窗);② 通知使用权已授予;③ 电池优化已关闭;④ 该机型拨号包名是否被识别(见 §10;主流 OEM 已覆盖,并以设备默认拨号应用兜底)。

短信转发要收费吗?

短信通道按运营商资费计费(见 §5.3)。Bark / 邮件走网络,不收费。

能转发微信 / QQ 内容吗?

能,只要开启对应 App 的通知且未被过滤。注意部分聊天内容可能被系统折叠,转发以通知可见文本为准。

更换手机后配置怎么迁移?

配置存于本机 DataStore,未提供云同步。换机需在新机重新配置通道与过滤(建议截图旧机设置)。

Bark 收到的通知带了一串奇怪链接 / 打不开?

App 早先曾附带 iOS 无法打开的跳转链接;来源应用名现在由标题前缀 [应用名] 与分组(group)清晰呈现,不再有多余链接。

为什么短信和未接来电转发默认是关的?

出于隐私保护。短信正文与来电号码属于敏感信息,因此 App 将这两个通道默认关闭,直到你主动开启——且首次开启时会弹出一个简短说明对话框。通知转发(非敏感)是开箱即用的。

十二、隐私与安全

本地优先

无服务器、无账号、无云上传。你的消息只去往你配置的 Bark / 邮件 / 短信 / Webhook 终点。

密钥加密

Bark Key、邮件密码存于 Android Keystore,AES-256-GCM 加密;非 root 设备无法导出明文。

配置私有

转发设置、过滤列表存 DataStore(应用私有沙箱),不收集任何遥测 / 统计。

  • 网络出口:仅向你配置的终点发起请求;不收集任何遥测 / 统计。
  • 权限最小化:未接来电无需通话权限;短信转发仅用短信相关权限。
  • 同意门禁:首启隐私政策门禁 + 短信/未接来电默认关闭,让你始终掌控敏感数据。
  • 完整隐私政策见 privacy-policy.html

十三、附录:权限清单

权限用途何时需要
通知使用权(Notification Listener)读取通知、识别未接来电始终(核心)
RECEIVE_SMS接收本机短信(短信转发双路之一)开启「包含短信」时(默认关)
SEND_SMS把消息以短信发出开启「短信」通道时
网络(INTERNET)向 Bark / 邮件发起请求使用 Bark / 邮件通道时
前台服务(Special Use)常驻监听,保证实时转发服务运行期间
不申请的权限:通话记录、通讯录、定位、麦克风、相机等敏感权限一律不申请。未接来电仅靠通知识别,无需任何电话权限。