# 小米手机权限设置指南 - 解决ESP32连接问题 ## 🚨 问题症状 - APP显示"网络类型: wifi"但"连接状态: 未连接" - 无法获取WiFi详细信息 (undefined) - HTTP请求全部超时 - 设备发现失败 ## 🔍 根本原因 **Android 13+ (小米MIUI) 对WiFi信息访问权限管控极严格** - 获取WiFi SSID、本地IP需要位置权限 - 小米手机额外有"局域网访问限制" - 权限未正确开启导致APP无法建立局域网连接 ## ✅ 完整解决方案 ### 步骤1: 重新云打包APP (必须) 权限修改必须通过云打包才能生效,真机调试无效! 1. 保存所有代码修改 2. HBuilderX → 发行 → 原生App-云打包 3. 选择Android平台,等待打包完成 4. **卸载手机上的旧APP,安装新APK** ### 步骤2: 开启APP位置权限 (关键) #### 方法一:设置 → 应用管理 1. 打开手机**设置** → **应用管理** 2. 找到你的APP (StillSense) 3. 点击**权限管理** 4. 找到**位置信息** → 选择**仅在使用中允许** 5. 返回,找到**获取设备信息** → 选择**允许** #### 方法二:设置 → 隐私保护 1. 打开**设置** → **隐私保护** → **权限管理** 2. 点击**位置信息** 3. 找到你的APP → 选择**仅在使用中允许** ### 步骤3: 关闭小米局域网限制 (重要) #### 关闭局域网访问限制 1. **设置** → **隐私保护** → **权限管理** → **局域网访问** 2. 找到你的APP → 选择**允许** #### 关闭防追踪功能 1. **设置** → **隐私保护** → **防追踪** 2. 关闭**局域网设备防追踪** ### 步骤4: 网络相关设置 #### 确保WiFi连接正常 1. **设置** → **WLAN** → 确认连接到2.4G WiFi 2. 点击已连接的WiFi → 查看IP地址 (应该是192.168.1.x) #### 关闭省电模式 1. **设置** → **省电与电池** → 关闭**省电模式** 2. 或者将APP添加到**省电白名单** ### 步骤5: 验证设置 #### 重启APP测试 1. **完全关闭APP** (从后台清除) 2. **重新打开APP** 3. 进入设备发现页面 4. 输入ESP32 IP: `192.168.1.98` 5. 点击**🔍 连通性测试** #### 预期结果 ``` ✅ 目标设备连接: 成功 URL: http://192.168.1.98:80/api/status 状态码: 200 ``` ## 🔧 如果仍然失败 ### 检查清单 - [ ] 确认已云打包并安装新APK - [ ] 位置权限已开启 (仅在使用中允许) - [ ] 局域网访问权限已允许 - [ ] 关闭了局域网设备防追踪 - [ ] 手机和ESP32在同一WiFi (2.4G) - [ ] ESP32设备已启动且IP正确 ### 终极解决方案 如果以上步骤都完成但仍失败: 1. **重启手机** - 让权限设置生效 2. **重新连接WiFi** - 刷新网络状态 3. **尝试其他手机** - 排除设备特殊性 4. **检查路由器设置** - 确认无AP隔离 ## 📱 其他Android手机参考 ### 华为手机 - **设置** → **应用和服务** → **权限管理** → **位置信息** - **设置** → **隐私和安全** → **更多安全设置** → **设备连接** ### OPPO/一加手机 - **设置** → **权限与隐私** → **权限管理** → **位置权限** - **设置** → **其他设置** → **设备与隐私** → **位置服务** ### vivo手机 - **设置** → **权限管理** → **位置信息** - **设置** → **更多设置** → **权限管理** → **位置权限** ## 🎯 核心要点 1. **Android 13+获取WiFi信息必须有位置权限** - 这是系统强制要求 2. **小米MIUI有额外的局域网访问限制** - 必须单独开启 3. **权限修改必须云打包** - 真机调试权限不完整 4. **设置后需要重启APP** - 让权限生效 按此指南操作后,APP应该能正常连接ESP32设备!