如何获取WiFinetworking接口的MAC地址?
看来android.net的java.net.NetworkInterface实现没有了
byte [] getHardwareAddress()方法http://developer.android.com/reference/java/net/NetworkInterface.html
我发现几个论坛的人试图做到这一点没有明确的答案,我需要得到一个有点跨设备的UUID,所以我不能依靠电话号码或在ANDROID_ID(可以覆盖,我认为依赖在用户有一个谷歌帐户) http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID
在linux中你可以使用ifconfig或者从/ proc / net / arp中读取,你可以很容易地获得硬件地址。
在Android中有一个文件,我可以阅读?
因为在手机的“设置>关于手机>状态”中显示,所以必须有一个获取此地址的方法。
因为在手机的“设置>关于手机>状态”中显示,所以必须有一个获取此地址的方法。
也就是说,如果没有别的办法,可以使用谷歌代码search(Google Code Search)来推测Android开源代码,找出它从哪里来的。
做了一些getMacAddress()
,它会出现它使用getMacAddress()
。
迟到的答案,但它可以帮助别人有同样的“问题”。
答案非常简单:
WifiManager wifiMan = (WifiManager) this.getSystemService( Context.WIFI_SERVICE); WifiInfo wifiInf = wifiMan.getConnectionInfo(); String macAddr = wifiInf.getMacAddress();
上面的代码会得到你的设备的MAC地址,记得抓住地址时启用wifi。 这个代码片段应该在你的Activity中使用。
更新:
从Android 6.0开始,上面的API将为您提供所有设备的固定MAC地址,即02:00:00:00:00:00 。 详情请参阅下文
http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html
发现另一篇声称在6.0中查找MAC地址的post,但没有经过testing
如何在Android Marshmallow中获得Wi-Fi Mac地址