TrafficManager 是一个 LSPosed 模块,用于根据 Wi-Fi SSID/BSSID 规则自动切换默认数据卡(SIM1/SIM2)
功能特性
- 支持按 / 匹配规则
SSIDBSSID - 支持规则优先级()
priority - 支持冷却时间防抖()
cooldownSec - 支持离开 Wi-Fi 策略(、、)
leaveDelaySecleaveMissThresholdrevertOnLeave - 切卡链路支持:
- LSPosed 广播桥接(优先)
- Root 命令兜底
- 支持实时状态显示与“一键学习当前 Wi-Fi 规则”
- 支持日志导出与切卡事件通知
- 支持省电模式 / 常驻模式切换
当前适配范围
- 当前版本仅适配小米澎湃 OS 3(HyperOS 3)。
- 其他 ROM 或系统版本暂未做完整兼容验证,可能出现作用域、权限或系统接口差异导致的不生效问题。
环境要求
- 安卓10+
- Root(建议开启,以提高兼容性)
- LSPosed(建议 Zygisk 版本)
- 建议双卡设备
构建
- 将 LSPosed API jar 放到:
app/libs/api-82.jar - 构建 Debug 包:
.\gradlew.bat :app:assembleDebug
输出 APK:
app/build/outputs/apk/debug/app-debug.apk
安装与启用
- 安装 APK
- 在 LSPosed 中启用模块
- 勾选推荐作用域(内置):
com.android.phonecom.xiaomi.phonecom.qti.phonecom.qualcomm.qti.telephonyservicecom.android.services.telephonycom.android.telephony
- 如果仍不生效,可手动额外勾选 作用域尝试兼容
android - 重启设备
- 打开 App,配置规则并开启自动切卡
省电/常驻模式说明
- 省电模式:不启动前台常驻服务,不显示常驻通知;依赖系统广播触发,可能延迟或漏触发
- 常驻模式:前台服务常驻更稳定、实时性更好;需要常驻通知且耗电更高
基础配置示例
{
"enabled": true,
"powerSaveMode": true,
"screenOnIntervalSec": 20,
"screenOffIntervalSec": 90,
"cooldownSec": 90,
"leaveDelaySec": 180,
"leaveMissThreshold": 3,
"revertOnLeave": true,
"fixedLeaveSlot": null,
"noWifiSlot": 0,
"noWifiImmediate": true,
"logRetentionDays": 7,
"logMaxMb": 10,
"appendDefaultRootTemplates": true,
"rootCommandTemplates": [
"cmd phone set-default-data-subscription {subId}",
"cmd phone set-data-subscription {subId}",
"settings put global multi_sim_data_call {slot}"
],
"rules": [
{
"id": "home_wifi",
"priority": 100,
"ssid": "MyHomeWiFi",
"bssid": null,
"targetSlot": 0
}
]
}
enabled: 是否开启自动切卡。powerSaveMode: true 表示更依赖系统广播触发的省电策略,false 则常驻服务更稳定。screenOnIntervalSec/screenOffIntervalSec: 屏幕亮/灭时触发检查的频率。cooldownSec: 同一规则命中后的冷却时长,防止抖动。leaveDelaySec/leaveMissThreshold: 离开 Wi-Fi 后经过多少时间、漏报次数才认为脱离。revertOnLeave: 离开 Wi-Fi 后是否还原原先使用的数据卡。fixedLeaveSlot: 离开 Wi-Fi 时强制切到的卡(null 表示按逻辑决定)。noWifiSlot/noWifiImmediate: 无 Wi-Fi 时的目标卡与是否立即切换。logRetentionDays/logMaxMb: 日志保留天数与单日志大小上限。appendDefaultRootTemplates: 是否在自定义 root 指令后自动补齐内置默认模板。rootCommandTemplates: root 兜底时使用的系统命令模板(可保留多条)。rules: Wi-Fi 规则列表, 越大优先级越高, 0/1 表示 SIM1/SIM2。prioritytargetSlot
常见排查
- 确认定位权限、附近设备(Wi-Fi)权限已授予
- 确认系统“定位总开关”已开启
- 查看日志目录:
Android/data/com.laros.lsp.traffics/files/logs/ - 若 LSPosed 链路失败,检查 root 兜底链路是否可用
- 若自定义 包含 / ,会被安全拦截以避免误改方向锁定
rootCommandTemplatesaccelerometer_rotationuser_rotation
无 Wi-Fi 切卡说明
- 设置 可在 未连接任何 Wi-Fi 时自动切换到指定卡槽
noWifiSlot - 触发条件受 与 影响(避免频繁抖动)
leaveDelaySecleaveMissThreshold - 若希望无 Wi-Fi 立即切换,可设置 (不受 限制)
noWifiImmediate: truecooldownSec - App「高级」页提供“无 Wi-Fi 立即切换”开关
- App「高级」页提供目标卡槽选择(关闭 / SIM1 / SIM2)
下一步开发计划(TODO)
- 增加更多 ROM 兼容适配(AOSP / OneUI / ColorOS 等)
- 增加作用域与链路自检页(自动提示缺失项)
- 增加规则调试模式(展示命中过程与未命中原因)
- 增加配置导入导出与版本迁移能力
- 增加更细粒度的通知与日志筛选
- 补齐自动化测试与兼容性回归用例
更新日志
- 新增设置/高级配置/自检/关于页面,统一布局与导航
- 切卡结果校验与会话状态持久化,失败通知更准确
- 增强 Wi-Fi 快照诊断日志与导出入口
LSP中文网版权所有,原文地址https://lsposed.cn/1198
© 版权声明
文章版权归作者所有,未经允许请勿转载。
哔哩哔哩 : 点击关注
哔哩哔哩 : 点击关注
THE END


![表情[xia]-LSPosed中文网](https://lsposed.cn/wp-content/themes/zibll/img/smilies/xia.gif)
![表情[touxiao]-LSPosed中文网](https://lsposed.cn/wp-content/themes/zibll/img/smilies/touxiao.gif)

请登录后查看评论内容