爱意满满的作品展示区。
NUAN1145

做了一个 Android 消息转发工具「消息接力」,开源出来听听大家意见

  •  
  •   NUAN1145 · 4h 45m ago · 295 views

    起因

    之前用过一些同类型的短信 / 通知转发工具,功能都很完善,不过自己实际使用下来,感觉配置稍微复杂了一些。

    我的需求其实比较简单:

    • 把备用安卓机上的重要消息同步出去
    • 配置尽量少一些
    • 收到的推送尽量清爽
    • 不需要额外搭建服务器

    所以后来按照自己的实际使用需求,做了一个相对简单的版本——消息接力 Message Relay


    目前实现了什么

    目前支持转发:

    • Android 短信
    • 电话相关通知
    • 微信 / 普通 APP 通知

    推送渠道目前支持:

    • Bark
    • 飞书
    • 钉钉

    整体使用流程比较简单:

    配置推送渠道 → 选择需要转发的应用 → 开启相关权限 → 开始使用

    推送渠道

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


    APP 选择

    默认主要关注短信、电话和微信,其他已经安装的 APP 也可以自行搜索和选择。

    之前尝试加入过比较多的单应用独立配置,但自己实际使用以后感觉有些复杂,所以后来又做了一次精简。


    「仅锁屏时推送」

    这个功能主要是解决重复提醒的问题。

    比如备用机现在就在自己手里使用,这时候我并不希望另外一台设备再收到一次相同的通知。

    所以加入了「仅锁屏时推送」:

    • 手机解锁并正在使用:不转发
    • 锁屏 / 息屏 / AOD:正常转发


    实际收到的消息是什么样

    推送格式这块我也做了一些精简。

    自己不太喜欢收到一条消息以后,里面出现大量应用名称、内部状态、调试字段之类的信息,所以短信、电话和普通 APP 通知目前都尽量只保留真正需要的内容。

    短信推送

    电话推送

    APP / 微信通知


    其他功能

    目前还实现了:

    • 免打扰
    • 双卡 SIM 识别
    • SIM 名称自定义
    • 消息模板
    • 历史记录
    • 备份 / 恢复
    • 后台运行检查
    • 自动 / 手动检查更新

    SIM 管理

    历史记录

    其他设置


    关于开发方式

    这个项目大量使用了 Codex 辅助开发。

    大概的开发方式就是:

    1. 自己提出实际使用需求
    2. 使用 Codex 辅助实现
    3. 放到真机上测试
    4. 发现问题
    5. 再继续修改
    6. 重新测试

    很多功能其实也是实际用了一段时间以后,觉得设置太复杂或者逻辑不太合理,又重新删掉或者简化的。


    目前还有哪些问题

    现在还是测试版本,有几个已经知道的问题。

    1. 电话实时信息

    部分 Android 设备在电话正在响铃的阶段,号码、联系人和归属地可能无法及时取得。

    目前一般需要等通话结束以后,再通过系统通话记录进一步补全。

    这部分在不同 Android 版本和不同厂商 ROM 上的表现也不完全一样。

    2. 消息时间重复

    目前部分短信、电话或者 APP 推送里,可能会出现接收时间重复显示的问题。

    这个属于显示层的问题,目前还在继续修改。

    3. 微信通知

    微信联系人 / 群名称能够获取多少,主要取决于微信实际提供给 Android 通知系统的数据。

    如果当前版本的微信没有把相关信息提供给系统通知,第三方通知监听也无法直接获得完整的会话信息。


    开源地址

    GitHub:

    https://github.com/MSCNUAN/message-relay-android

    目前还是测试阶段,源码、README 和后续版本都会继续更新。


    最后

    目前比较希望测试的是不同 Android 版本和不同厂商 ROM 下的兼容情况。

    尤其是:

    • 电话号码获取
    • 双卡 SIM 识别
    • 微信通知解析
    • 后台存活
    • 锁屏状态判断

    如果有人愿意帮忙测试,或者觉得现在某个设计逻辑不太合理,欢迎交流。

    有 Bug 也可以直接通过项目 Issue 反馈。

    目前自己的想法还是尽量不为了功能数量去堆功能,优先把已经有的东西做简单、稳定、好用。

    2 replies    2026-08-13 15:34:48 +08:00
    blackgloves
        1
    blackgloves  
       4h 39m ago   ❤️ 1
    你写个 readme 就开源,你开个鸡毛源啊
    admin948
        2
    admin948  
       4h 26m ago
    这个现在用 AI 实现起来非常快,但是每个人想要的东西都不一样,要是都兼顾,就会变的大而臃肿,要是按照自己的需求来做,那确实“小而美”,但是可能有些功能有人想要却没有,有些功能有人不要但是却有。

    比如我朋友有这个需求就自己搓了一个,我最近也有相同需求,就在我朋友项目的基础上改了下: https://github.com/equationl/verina 这个实现更简单呢,没有这么多花里胡哨的东西,但是已经稳定跑了大半个月了,我朋友的项目更是稳定跑了快一年了(我说我也要用他才放到 github 上的,所以原仓库是最近才建的)。

    所以,还是直接按照自己的需求定制化手搓一个最方便
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3317 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:01 · PVG 20:01 · LAX 05:01 · JFK 08:01
    ♥ Do have faith in what you're doing.