BluetoothAdapter getAddress()返回02:00:00:00:00:00

问题描述 投票:1回答:1

我尝试返回设备的Bluetooth mac地址,但此方法不起作用,并返回以下地址:02:00:00:00:00:00。-我正在使用API​​级别28-我可以在android系统设置中获取蓝牙mac地址,但无法在我的应用中以编程方式获取。-我可以通过编程方式从其他设备获取此设备的mac地址。我了解的是,只能通过系统应用程序访问地址mac,但是如果这是真的,为什么其他设备获得我的mac地址却不是我!

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
test.setText(adapter.getAdress());

我尝试了许多权限,但仍然是同样的问题!

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
<uses-permission android:name="android.permission.INTERNET" />
java android bluetooth mac-address
1个回答
0
投票

自Android 6起,棉花糖应用不再具有对蓝牙硬件MAC地址的访问权限。进行此更改是因为许多应用程序滥用了该地址来标识和跟踪智能手机。为避免现有应用程序损坏,getter方法仍然存在,但它返回一个虚拟地址。有关详细信息,请参阅Android官方发行说明here

中的相应说明。

其他人可以看到的MAC地址不是硬件地址,而是它的随机变体。 Wifi同样适用,但与蓝牙相反,用户可以选择启用/禁用随机化用户界面中的每个网络。

© www.soinside.com 2019 - 2024. All rights reserved.