smart-home/smart-home-app/小米手机权限设置指南.md
2026-02-26 09:16:34 +08:00

115 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 小米手机权限设置指南 - 解决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设备