替代NetworkInterface.getHardwareAddress()?

时间:2013-03-16 16:43:59

标签: android networking

我已经使用此API来选择设备的mac地址,

NetworkInterface.getHardwareAddress()

但这是针对API级别9及更高版本,我应该使用什么来选择API级别8的mac地址? froyo设备。

这可能是一件非常简单的事情,但我尝试使用谷歌搜索,但找不到答案。

2 个答案:

答案 0 :(得分:3)

自API级别1以来,

WifiInfo.getMacAddress()已可用。

WifiManager wifiMan = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInf = wifiMan.getConnectionInfo();
String macAddr = wifiInf.getMacAddress();

您需要添加:

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

到您的清单

答案 1 :(得分:1)

WifiInfo.getMacAddress()始终为您提供Wi-Fi MAC地址,尽管您的活动界面当前可能是蜂窝网络。如果预期目的是获取相关的硬件地址(例如来自蜂窝连接),则应从rmnet0接口检索MAC,依此类推(如果需要IP / MAC关联)。