位置权限为什么是 WiFi 扫描的必需项
为什么要位置权限
这是 Android 系统层面的要求,不是 NetX 自作主张。
从 Android 8.0(Oreo)开始,调用 WifiManager.getScanResults()(即扫描附近 WiFi 热点的底层 API)需要满足以下条件之一:
- 已授予 精确位置权限(ACCESS_FINE_LOCATION)
- 已授予 大致位置权限(ACCESS_COARSE_LOCATION)
- 同时开启 GPS 和"始终允许"位置访问
到 Android 13(API 33)以后,Google 进一步引入了 NEARBY_WIFI_DEVICES 权限,但在实际使用中,位置权限仍是最稳妥的方案。
NetX 首次启动时的权限流程
打开应用会先弹出权限申请对话框,顺序一般是:
- 精确位置权限:允许 → 才能扫描附近 WiFi 热点和发现局域网设备
- 通知权限(Android 13+):允许 → 新设备加入 WiFi 时推送告警
- 开机自启动权限(部分机型):允许 → 应用能在重启后自动准备好后台服务

如果不给位置权限
拒绝位置权限后,以下功能会不可用或表现异常:
- WiFi 附近热点扫描 → 基本拿不到结果
- 局域网设备扫描 → 可能只能看到自己一台设备
- 新设备加入 WiFi 的告警 → 无法触发
- 远程监控 → 无法获取远程设备的 CPU / 内存数据
位置权限是 NetX 的核心权限,拒绝等于废了一半功能。如果担心隐私,可以在不用 WiFi 扫描时手动从系统设置里关掉位置权限。