获得的Android蓝牙MAC是02:00:00:00:00:00

时间:2020-03-23 11:26:26

标签: android bluetooth android-wifi android-bluetooth

尝试使用来获取Android手机的蓝牙

my_dict

该函数的结果为 02:00:00:00:00:00 ,我期望 00:04:61:02:AA:FF的某些行

也注意到wifi mac地址与Bluetooth mac地址相同。可以使用wifi MAC地址吗?

2 个答案:

答案 0 :(得分:1)

根据Android 6.0的更改:

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id

为了向用户提供更大的数据保护,从此版本开始,Android删除了使用Wi-Fi和Bluetooth API对应用的设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress()和BluetoothAdapter.getAddress()方法现在返回常数值02:00:00:00:00:00。

要通过蓝牙和Wi-Fi扫描访问附近的外部设备的硬件标识符,您的应用现在必须具有ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION权限。

答案 1 :(得分:0)

根据 Android 文档 WifiInfo API,Android 应用必须是系统应用并获得以下 2 个权限:

  • android.Manifest.permission.LOCAL_MAC_ADDRESS
  • Manifest.permission.ACCESS_FINE_LOCATION

我在 Android 10 的 root 设备上尝试过,效果很好。