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

3.6 KiB
Raw Blame History

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