Skip to content

短信转发器 1.0.8

Choose a tag to compare

@github-actions github-actions released this 21 Aug 10:09

SMS Forwarder 1.0.8

本版本重点修复小米 / HyperOS 兼容性问题、彻底移除黄页功能、优化同步性能,并增强彩信解析稳定性。

核心修复:小米 / HyperOS 短信兼容问题

针对部分小米 / HyperOS 设备中存在的服务号短信异常、息屏收信异常以及短信长时间停留在「待发送」状态等问题,进行了全链路加固。

  • 服务号短信消失修复

    • 针对 10086、10010 等服务号发送短信后气泡消失、刷新后无法找回的问题进行修复。
    • 在调用系统短信发送接口前,先在 App 本地库建立消息及会话身份记录,降低系统数据库延迟或会话 ID 变化导致消息消失的情况。
    • 在发送回调中增加 Intent 身份补偿机制,即使系统在发送过程中修改会话 ID,也能继续定位对应消息。
    • 优化会话页刷新逻辑,将系统短信数据库与本地暂存消息进行去重合并,避免刚发送的短信因系统查询延迟暂时从界面消失。
  • 息屏短信接收修复

    • 修复部分小米 / HyperOS 设备息屏后无法正常接收短信的问题。
    • 优化后台短信接收与处理链路,降低息屏状态下系统后台限制对短信接收的影响。
  • 待发送状态修复

    • 修复短信长时间停留在「待发送」状态的问题。
    • 修复短信一直等待发送、无法及时进入正常发送流程的问题。
    • 同步修正相关发送状态与规则处理逻辑,提升短信发送和转发流程的稳定性。

功能清理与体积优化

  • 彻底移除黄页功能
    • 删除内置黄页数据库 yellow_pages.db 及相关识别代码。
    • APK 体积减小约 0.5 MB。
    • 不再识别和显示所谓的「商家名称」,仅显示通讯录联系人或原始号码。
    • 清理所有与黄页相关的启动预加载逻辑,减少无用资源占用并提升启动速度。

性能优化:查询放大修复

  • 精准同步策略

    • 重构 getMessages 查询逻辑。
    • 优先按会话 ID 精确查询,只有确实查不到数据时才触发昂贵的号码级全库扫描兜底。
  • 同步去重

    • 在后台补偿任务 SmsRecoveryWorker 和首页同步路径中增加会话去重逻辑。
    • 避免短时间内对同一号码进行多次重复同步,降低系统资源占用。
  • 资源安全加固

    • 修复多处数据库游标 Cursor 未及时关闭导致的资源泄漏问题。
    • 改善长时间运行后可能出现的资源占用和系统变慢问题。

稳定性增强

  • MMS SMIL 容错解析

    • 针对部分运营商或历史彩信中存在的畸形 XML / SMIL 数据增加深度容错处理。
    • SMIL 解析失败时不再中断整个 MMS 读取流程。
    • 自动回退到 MMS Part 原始附件信息。
    • 优先使用 name / fn 字段恢复附件文件名。
    • 即使没有有效文件名,也会继续保留图片、视频等附件。
    • 避免畸形 SMIL 产生大量 XmlPullParserException 堆栈日志。
  • 新增下拉刷新

    • 首页短信列表支持下拉刷新。
    • 对话详情页支持下拉刷新。
    • 当系统短信数据库存在短暂同步延迟时,可手动触发重新同步。
  • 异步安全加固

    • 将数据库敏感操作移至后台线程。
    • 降低主线程数据库访问导致卡顿或异常的风险。

实机测试说明

目前主要在以下设备和系统上进行了 ADB / logcat 实机测试:

  • 鸿蒙 4.2
  • 小米 14 Ultra(Android 17)

其他品牌及系统版本暂未进行完整实机覆盖测试。

如在其他机型上遇到短信接收、发送、转发、后台运行或系统兼容性问题,欢迎提供 ADB / logcat 日志,后续可根据日志继续进行适配和修复。

升级说明

  • 推荐小米 / HyperOS 用户升级至本版本。
  • 本版本可从同签名的 v1.0.7 或更高版本直接覆盖安装。
  • Debug 版与正式版签名不同,无法直接覆盖安装。
  • 如果升级后发现个别 10086 / 10010 历史消息记录不完整,可进入对应会话页执行一次「下拉刷新」。