# SmsManager **Repository Path**: xy506/SmsManager ## Basic Information - **Project Name**: SmsManager - **Description**: 基于 ADB(Android Debug Bridge)的 Windows 桌面端手机短信管理工具,通过 USB 调试方式读取 Android 手机短信,对比自定义规则库执行自动化处置。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-17 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SmsManager - 短信管理器 基于 ADB(Android Debug Bridge)的 Windows 桌面端手机短信管理工具,通过 USB 调试方式读取 Android 手机短信,对比自定义规则库执行自动化处置。 ## 功能特性 - **短信读取**:通过 ADB 连接手机,读取全部短信(收件箱/已发送),无数量限制 - **规则引擎**:支持多条件组合匹配(AND/OR 逻辑) - 发件人号码匹配 - 关键词匹配(包含/等于/不包含等 11 种操作符) - 正则表达式匹配 - 时间范围匹配 - **自动化处置**:匹配规则后自动执行动作 - 删除短信(从手机端删除) - 标记已读 - 本地 Windows 通知提醒 - 导出备份为 TXT 文件 - **系统设置**:支持持久化配置 - 统一设置导出文件保存目录 - 自定义 ADB 路径 - 短信读取上限(0 = 不限制) - 自动处理开关、通知提示音、ADB 超时时间 - 所有设置自动保存,重启后自动加载 ## 前提条件 1. **Windows 10/11**,已安装 [.NET 8.0 桌面运行时](https://dotnet.microsoft.com/download/dotnet/8.0) 2. **Android 手机**,已开启 USB 调试模式 3. **ADB 工具**,已安装 [Android SDK Platform-Tools](https://developer.android.com/tools/releases/platform-tools) 并配置 PATH,或在设置中指定 adb.exe 完整路径 4. **USB 数据线**连接手机与电脑 ## 快速开始 ### 方式一:直接运行 下载 `PublishSlim` 目录下的 `SmsManager.exe`(需本机已安装 .NET 8 桌面运行时)。 ### 方式二:从源码构建 ```bash # 克隆仓库 git clone https://gitee.com/xy506/SmsManager.git cd SmsManager # 还原依赖 dotnet restore # 编译 dotnet build # 运行 dotnet run # 或发布为独立可执行文件 dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./Publish ``` ### 使用步骤 1. 手机开启 **USB 调试**(设置 → 开发者选项 → USB 调试) 2. USB 数据线连接手机与电脑 3. 启动 SmsManager,点击 **连接设备** 4. 点击 **刷新短信** 读取手机短信 5. 在 **规则管理** 中配置过滤规则和处置动作 6. 点击 **执行规则** 进行批量处理,或开启 **自动处理** ## 项目结构 ``` SmsManager/ ├── Models/ # 数据模型 │ ├── SmsMessage.cs # 短信模型 │ ├── SmsRule.cs # 规则/条件/动作模型 + 枚举中文映射 │ ├── ProcessLog.cs # 处置日志模型 │ └── AppSettings.cs # 全局设置模型(持久化) ├── Services/ # 业务服务 │ ├── AdbService.cs # ADB 通信服务 │ ├── RuleEngine.cs # 规则引擎(匹配 + 动作执行) │ └── NotificationService.cs # Windows 通知服务 ├── ViewModels/ # MVVM ViewModel │ └── MainViewModel.cs # 主窗口逻辑 ├── Converters/ # WPF 值转换器 │ └── Converters.cs # 可见性/颜色/枚举转换 ├── Resources/ # 资源文件 │ ├── app.ico # 应用图标 │ └── app.png # 应用图标(PNG) ├── App.xaml / App.xaml.cs # 应用入口 + 全局样式 ├── MainWindow.xaml # 主界面 ├── MainWindow.xaml.cs # 主界面代码 └── SmsManager.csproj # 项目配置 ``` ## 技术栈 | 组件 | 技术 | |---|---| | 框架 | .NET 8.0 (WPF) | | 架构模式 | MVVM | | MVVM 工具包 | CommunityToolkit.Mvvm 8.4 | | JSON 序列化 | Newtonsoft.Json 13.0 | | 通信方式 | ADB (Android Debug Bridge) | | 语言 | C# 12 | ## 规则配置说明 规则采用 JSON 格式存储,位于 `%APPDATA%\SmsManager\rules\` 目录,每条规则一个文件。 ### 默认规则示例 | 规则名 | 条件 | 动作 | |---|---|---| | 拦截骚扰短信 | 内容包含"退订回T"/"贷款"等关键词(OR) | 删除 + 通知 | | 银行短信通知 | 号码以 955/1069 开头(OR) | 标记已读 + 导出 + 通知 | | 正则过滤验证码 | 正则匹配验证码格式 | 通知 + 导出 | ### 用户设置 全局配置存储在 `%APPDATA%\SmsManager\settings.json`,包含导出目录、ADB 路径、读取上限等参数。 ## 注意事项 - ADB 读取短信不需要 Root 权限,但需要手机授权 USB 调试 - 删除短信操作不可逆,建议先配置"导出备份"动作 - 部分国产定制 ROM(如鸿蒙、MIUI)可能限制 ADB 访问短信 ContentProvider - 首次连接需在手机上授权此电脑的调试权限 ## 许可证 MIT License