起因
之前用过一些同类型的短信 / 通知转发工具,功能都很完善,不过自己实际使用下来,感觉配置稍微复杂了一些。
我的需求其实比较简单:
- 把备用安卓机上的重要消息同步出去
- 配置尽量少一些
- 收到的推送尽量清爽
- 不需要额外搭建服务器
所以后来按照自己的实际使用需求,做了一个相对简单的版本——消息接力 Message Relay。

目前实现了什么
目前支持转发:
- Android 短信
- 电话相关通知
- 微信 / 普通 APP 通知
推送渠道目前支持:
- Bark
- 飞书
- 钉钉
整体使用流程比较简单:
配置推送渠道 → 选择需要转发的应用 → 开启相关权限 → 开始使用

推送渠道
目前 Bark 、飞书和钉钉都集中放在推送渠道里配置。

APP 选择
默认主要关注短信、电话和微信,其他已经安装的 APP 也可以自行搜索和选择。
之前尝试加入过比较多的单应用独立配置,但自己实际使用以后感觉有些复杂,所以后来又做了一次精简。

「仅锁屏时推送」
这个功能主要是解决重复提醒的问题。
比如备用机现在就在自己手里使用,这时候我并不希望另外一台设备再收到一次相同的通知。
所以加入了「仅锁屏时推送」:
- 手机解锁并正在使用:不转发
- 锁屏 / 息屏 / AOD:正常转发

实际收到的消息是什么样
推送格式这块我也做了一些精简。
自己不太喜欢收到一条消息以后,里面出现大量应用名称、内部状态、调试字段之类的信息,所以短信、电话和普通 APP 通知目前都尽量只保留真正需要的内容。
短信推送

电话推送

APP / 微信通知

其他功能
目前还实现了:
- 免打扰
- 双卡 SIM 识别
- SIM 名称自定义
- 消息模板
- 历史记录
- 备份 / 恢复
- 后台运行检查
- 自动 / 手动检查更新
SIM 管理

历史记录

其他设置

关于开发方式
这个项目大量使用了 Codex 辅助开发。
大概的开发方式就是:
- 自己提出实际使用需求
- 使用 Codex 辅助实现
- 放到真机上测试
- 发现问题
- 再继续修改
- 重新测试
很多功能其实也是实际用了一段时间以后,觉得设置太复杂或者逻辑不太合理,又重新删掉或者简化的。

目前还有哪些问题
现在还是测试版本,有几个已经知道的问题。
1. 电话实时信息
部分 Android 设备在电话正在响铃的阶段,号码、联系人和归属地可能无法及时取得。
目前一般需要等通话结束以后,再通过系统通话记录进一步补全。
这部分在不同 Android 版本和不同厂商 ROM 上的表现也不完全一样。
2. 消息时间重复
目前部分短信、电话或者 APP 推送里,可能会出现接收时间重复显示的问题。
这个属于显示层的问题,目前还在继续修改。
3. 微信通知
微信联系人 / 群名称能够获取多少,主要取决于微信实际提供给 Android 通知系统的数据。
如果当前版本的微信没有把相关信息提供给系统通知,第三方通知监听也无法直接获得完整的会话信息。
开源地址
GitHub:
https://github.com/MSCNUAN/message-relay-android
目前还是测试阶段,源码、README 和后续版本都会继续更新。
最后
目前比较希望测试的是不同 Android 版本和不同厂商 ROM 下的兼容情况。
尤其是:
- 电话号码获取
- 双卡 SIM 识别
- 微信通知解析
- 后台存活
- 锁屏状态判断
如果有人愿意帮忙测试,或者觉得现在某个设计逻辑不太合理,欢迎交流。
有 Bug 也可以直接通过项目 Issue 反馈。
目前自己的想法还是尽量不为了功能数量去堆功能,优先把已经有的东西做简单、稳定、好用。
