You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 14中蓝牙LE扫描返回XX:XX:XX:XX:55:66格式地址原因排查

Android 14蓝牙扫描返回XX开头MAC地址的原因及解决办法

这是Android系统从**API 29(Android 10)**开始引入的蓝牙隐私保护机制导致的,并非Android 14的新变更:

  • 对于未与你的应用配对/绑定的蓝牙设备,系统会返回匿名化的随机MAC地址,也就是你看到的XX:XX:XX:XX:55:66格式,前四段被替换为XX(不同设备表现可能略有差异,但核心是匿名化处理)。
  • 只有当设备完成配对绑定,且你的应用持有BLUETOOTH_CONNECT权限时,才能获取到设备的真实物理MAC地址。

解决思路

如果需要获取设备真实MAC地址,可按以下步骤操作:

  • 确保应用已获取BLUETOOTH_CONNECT权限,引导用户完成目标设备的配对绑定流程。
  • 若应用需要基于蓝牙扫描提供位置相关服务,还需申请ACCESS_FINE_LOCATION权限,并确保用户开启了设备的位置服务(部分设备要求位置服务开启才能正常扫描蓝牙设备)。
  • 检查BLUETOOTH_SCAN权限的配置:针对Android 12及以上版本,若应用不需要位置权限,需在权限声明中添加android:usesPermissionFlags="neverForLocation",避免权限申请冲突:
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"
                    android:usesPermissionFlags="neverForLocation" />
    

另外需要注意:即使完成配对,部分设备仍可能在某些场景下返回随机地址,这取决于设备厂商的隐私策略实现。

内容的提问来源于stack exchange,提问作者Dick Farnsworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 19:29:58