以编程方式获取安卓设备的 MAC

2022-08-31 10:12:49

我需要使用Java获取我的安卓设备的MAC地址。我在网上搜索过,但我没有找到任何有用的东西。


答案 1

正如评论中已经指出的那样,MAC地址可以通过WifiManager接收。

WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String address = info.getMacAddress();

另外,不要忘记将适当的权限添加到您的AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

请参阅安卓 6.0 更改

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

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


答案 2

通过WifiInfo.getMacAddress()获取MAC地址在棉花糖及以上版本上不起作用,它已被禁用,并将返回常量值02:00:00:00:00:00:00。


推荐