Skip to content
阅读进度

蓝牙与 Wi-Fi 权限怎么适配? ​

返回 网络与设备通信 目录

标准回答 ​

权限声明、运行时授权、蓝牙或 Wi-Fi 开关以及具体 API 限制共同决定能否操作;不能看到“未扫描到设备”就断定是无线信号问题。

关键机制 ​

  • 目标 Android 12 及以上常按用途申请 BLUETOOTH_SCAN、BLUETOOTH_CONNECT,广播还涉及 ADVERTISE;旧版本路径按对应规则处理位置等权限。
  • 目标 Android 13 及以上的部分 Wi-Fi 管理操作需要 NEARBY_WIFI_DEVICES;部分扫描 API 仍需要位置权限,不能简单全部替换。
  • 若声明蓝牙扫描不推导物理位置,neverForLocation 可能影响某些 beacon 结果,需评估业务与设备类型。

通俗例子 ​

同一 APK 在旧手机可扫描、新手机失败:检查 targetSdk、Manifest 分版本声明、实际授权状态和系统设置,再看扫描参数与过滤规则。

易混淆点 ​

拒绝权限后要给可理解的降级状态,不要无限重复弹窗或把所有失败显示为“设备离线”。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。