【Android】获取Mac地址【2】

之前写了【Android】获取Mac地址【1】有些不够详细,现在贴上一些其他代码,仅供参考。

(1) 调用android 的API: NetworkInterface. getHardwareAddress ()

该API的level为9,只有android 2.3以上才有该接口

(2) 调用java 的方法: nbtstat/arp

一般android不支持这两个命令。该方法没有试过。

(3) 调用Android的API: WifiManager

权限:

AndroidManifest.xml

代码:

getMacFromWifi

这个是需要设备开通Wifi连接,获取到网卡的MAC地址

另,贴上,判断当前是否为wifi连接方式:

isWifiConnected

(4) 调用Linux的busybox

getMacFromCallCmd

其他相关函数:

callCmd

这个需要设备支持busybox工具。现在发现一些设备是没有安装该工具的,这时使用该方法,会报错。

(5)查询记录了MAC地址的文件“/proc/net/arp”

需要有这个文件,并且记录了相应的内容

getMacFromFile


 

readFileLines

记录了MAC地址的文件“/proc/net/arp”内容大致如下:

IP address       HW type     Flags       HW address            Mask     Device
10.63.253.193    0x1         0x2         00:11:92:06:85:3f     *        eth0
10.63.253.194    0x1         0x2         00:11:92:06:85:3a     *        eth1
10.63.253.195    0x1         0x2         00:11:92:06:85:3b     *        eth2

Done!!睡觉喽~

原文地址:https://www.cnblogs.com/Amandaliu/p/2802322.html