Skip to content

Releases: Rove24/XposedSmsCode

v0.1.7

Choose a tag to compare

@Rove24 Rove24 released this 06 Sep 15:30

修复方案(双重高可靠激活判定)
电话服务开机主动上报(0ms 零延迟):
com.android.phone(电话服务)启动加载模块时,会直接向模块自带的 ContentProvider(DBProvider)上报当前系统的开机启动时间戳。
重启且启用模块时:电话服务自动上报本次开机时间戳,打开 App 瞬间比对通过,0ms 立即显示“已激活”。
LSPosed 中停用模块并重启时:电话服务不会加载模块,本轮开机没有任何上报,保存的开机时间戳属于旧会话,比对失败,准确显示“未激活”。
实时双向有序广播探测(即时兜底):
HomeActivity 打开时同步发送 ACTION_PING(com.github.rove24.xposed.smscode.ACTION_PING)有序广播定向探测电话服务及系统框架。
目标进程响应 102 (ACTIVE) 后立即刷新激活状态并更新 UI。
总开关绑定:
激活后,总开关副标题恢复为正常说明:“启用后短信验证码将被自动复制或填入” 并解锁开关。

v0.1.6

Choose a tag to compare

@Rove24 Rove24 released this 06 Sep 13:41

本次核心修复
彻底恢复原版经典检测机制:
重建 assets/xposed_init(指向 com.tianma.xsmscode.xp.HookEntry);
移除 META-INF/xposed 目录,交还给 LSPosed 原生接管模块自身探针注入;
静态作用域完全对齐原版:仅保留 android(系统框架)和 com.android.phone(电话服务);
彻底移除 Ping/Pong 广播、静态内存状态、DBProvider 中的激活记录等过渡冗余代码,完全使用原生 ModuleUtils.isModuleEnabled() 判定。
主界面总开关文字与激活状态动态绑定:
模块激活时,总开关副标题显示:模块已激活;
模块未激活时,总开关副标题显示:模块未激活,请先激活本模块;
无论页面首次加载还是返回前台,均实时同步联动。
主页状态卡片占位修复:
activity_home.xml 默认状态调整为“未激活”及琥珀色问号图标。

v0.1.5

Choose a tag to compare

@Rove24 Rove24 released this 06 Sep 10:33

🛠️ 核心调整总结
解决作用域未勾选模块自身的问题:
彻底不再强依赖“LSPosed 必须注入模块自身”。

ModernHookEntry
中,让真正被 Hook 的系统进程(电话服务 和 系统框架)注册前台高优先级 ACTION_PING 监听器。
实时前台双向 IPC Ping/Pong 探测:
HomeActivity
打开或唤醒时,主动向后台系统进程发出 Ping 探测;
后台 Hook 毫秒级回复 Pong(携带 API 102 与版本 15),界面瞬间刷新为 API 102 · 已激活(绿色徽章)。
零系统污染,杜绝假激活:
彻底移除了所有的 Settings.Global 写入以及持久化本地缓存。
当你在 LSPosed 中关闭模块并重启电话服务后,由于后台没有 Hook 响应 Ping,界面会准确呈现“模块未激活”,不再产生残留。

v.0.1.4

Choose a tag to compare

@Rove24 Rove24 released this 06 Sep 09:01

🛠️ 本次修复与优化内容
彻底解决激活检测与“假激活”问题:

根本原因:之前为了应对重启检测,将激活标记写进了系统底层的 Settings.Global,且 LSPosed 作用域缺少了模块自身包名,导致即使在 LSPosed 中关闭模块或重新安装,该系统键值依然残留,造成误报“已激活”。
修复方案:
将模块自身包名加入 LSPosed 作用域(scope.list 与 xposed_scope),LSPosed 勾选启用时会自动注入模块自身。
恢复纯内存级 Hook 检测(getModuleVersion() > 0),并彻底移除对 Settings.Global 的写入与 30 天缓存读取。
现在的效果:在 LSPosed 中勾选开启并重启电话服务后立即显示“已激活”;未启用或在 LSPosed 中关闭后打开立即显示“未激活”。
彻底解决手机重启后服务默认启用的问题:

将底层各层级(XSPUtils、PrefBridge、PrefSyncUtils、DBProvider)的全部兜底默认值统一修改为 false。
手机重启时,如果用户开关是关的,电话服务中绝对不会执行任何 Toast、复制、自动输入或拦截逻辑。
初次安装全功能默认关闭:

settings.xml
中所有的开关项(总开关、Toast、剪贴板、自动输入、通知、短信拦截、记录、读后删除等)初次安装默认值全量重构为 false。
保证新安装后完全由用户根据需要自主选择启用。
开关即时生效优化:

偏好广播增加了 FLAG_RECEIVER_FOREGROUND 高优先级前台派发标志,配置更改在毫秒级直达电话进程并实时更新内存缓存。
版本号与界面优化:

版本名称升级为 0.1.4,版本号为 14。
设置界面版本描述简化为:当前版本:0.1.4(不再重复展示括号版本号)。

v0.0.13

Choose a tag to compare

@Rove24 Rove24 released this 05 Sep 16:38

🎨 Material Design 3 界面与体验升级

  • 全面适配 Material Design 3 (MD3) 规范:深度对齐原生 Google 信息(Google Messages)设置界面的视觉与布局规范,包含平滑圆角卡片、M3 开关组件与状态指示。
  • 支持 Android 12+ Monet 原生动态取色 (Material You):跟随系统壁纸色调自适应流转,深色模式完美对齐。
  • 全新交互弹窗:升级 M3 风格单选对话框与自定义数值调节面板。

⚡ 实时热生效与跨进程同步

  • 配置跨进程毫秒级热同步:界面内切换任何开关(显示 Toast、复制验证码、拦截短信、自动输入、显示通知、保留记录等)立刻热生效,无需重启设备或电话服务。

🛡️ LibXposed Modern API 102 架构与作用域

  • 升级至现代 LibXposed API 102 标准架构
  • 静态作用域机制:推荐且默认作用域为:
    • 电话服务 (com.android.phone)
    • 系统框架 (android / system)
  • 激活检测重构:采用框架层全局状态共享与电话服务生命周期 Context 捕获,彻底解决重启或卸载重装后的未激活误报问题。

🔧 兼容性优化

  • 适配 Android 14+ 广播导出规范(RECEIVER_EXPORTED)。
  • 优化 NotificationChannel 渠道创建与通知快捷动作。