2011-06-08 112 views
6

我使用下面的代码:如何在android中获取WIFI接口的MAC地址?

WifiManager wifiMgr = (WifiManager) app.getSystemService(Context.WIFI_SERVICE); 
return wifiMgr.getConnectionInfo().getMacAddress(); 

问题是,在WIFI必须在设备,以便给我读它的地址启用。 即使WIFI关闭,我仍能如何读取WIFI的MAC?

回答

15

你不行。根据设备的不同,如果WiFi适配器被禁用,那么它实际上可能会被电子关闭,所以您无法从中读取任何信息。

Android Developers Blog

的Mac地址

也许可以检索从 设备的WiFi或蓝牙硬件MAC地址。我们不建议使用这个作为 的唯一标识符。首先,并非所有设备都具有WiFi。 此外,如果WiFi未打开, 硬件可能不会报告Mac 地址。

+1

什么是识别设备的唯一序列那么最好的方法是什么? – Himberjack 2011-06-08 09:05:54

+1

查看此Android开发人员博客文章:http://android-developers.blogspot.com/2011/03/identifying-app-installations.html – 2011-06-08 09:09:27

+1

废话。即使Wi-Fi已关闭,也可以读取MAC地址。当您在手机设置下查看MAC地址时,即使操作系统也这样做。 – AndroidDev 2012-11-05 16:21:13

-9
WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
String mac = wm.getConnectionInfo().getMacAddress(); 
+8

这正是OP已经尝试过的。阅读问题。还请阅读Android开发者博客文章,其中确认,如果禁用适配器,这在许多设备上不起作用。 http://android-developers.blogspot.com/2011/03/identifying-app-installations.html – 2012-11-05 16:30:12

+0

这是否获得没有Wifi的移动数据的MAC地址? – tejas 2013-05-24 10:20:51