Android蓝牙MAC得到的是02:00:00:00:00:00
Android bluetooth MAC obtained is 02:00:00:00:00:00
正在尝试使用
获取 android phone 的蓝牙
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String bleMAC = bluetoothAdapter.getAddress();
函数的结果是 02:00:00:00:00:00,我期待 00:04 的行: 61:02:AA:FF
还注意到 wifi mac 地址与蓝牙 mac 地址相同。 wifiMAC地址可以用吗?
根据 Android 6.0 更改:
为了向用户提供更好的数据保护,从本版本开始,Android 删除了使用 Wi-Fi 和蓝牙 API 的应用对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法现在 return 为 02:00:00:00:00:00.
的常量值
要通过蓝牙和 Wi-Fi 扫描访问附近外部设备的硬件标识符,您的应用现在必须具有 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限。
根据 Android 文档 WifiInfo API,Android 应用必须是系统应用并获得以下 2 个权限:
- android.Manifest.permission.LOCAL_MAC_ADDRESS
- Manifest.permission.ACCESS_FINE_LOCATION
我在 Android10 的 root 设备上试过,效果很好。
正在尝试使用
获取 android phone 的蓝牙BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
String bleMAC = bluetoothAdapter.getAddress();
函数的结果是 02:00:00:00:00:00,我期待 00:04 的行: 61:02:AA:FF
还注意到 wifi mac 地址与蓝牙 mac 地址相同。 wifiMAC地址可以用吗?
根据 Android 6.0 更改:
为了向用户提供更好的数据保护,从本版本开始,Android 删除了使用 Wi-Fi 和蓝牙 API 的应用对设备本地硬件标识符的编程访问。 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法现在 return 为 02:00:00:00:00:00.
的常量值要通过蓝牙和 Wi-Fi 扫描访问附近外部设备的硬件标识符,您的应用现在必须具有 ACCESS_FINE_LOCATION 或 ACCESS_COARSE_LOCATION 权限。
根据 Android 文档 WifiInfo API,Android 应用必须是系统应用并获得以下 2 个权限:
- android.Manifest.permission.LOCAL_MAC_ADDRESS
- Manifest.permission.ACCESS_FINE_LOCATION
我在 Android10 的 root 设备上试过,效果很好。