Android mac地址获取的方法小结及可能出现的问题

本文总结了在Android中获取MAC地址时遇到的问题及四种常见的解决方案:通过WiFiManager、Linux底层方法、BusyBox和根据IP获取。特别指出,WiFiManager需在开启WiFi设置后才能正常获取MAC,而其他两种方法在实际应用中可能不奏效。
摘要由CSDN通过智能技术生成

     这段时间项目遇到个问题,客户把移动设备回厂修理后再安装我们的项目,运行会报错。后来经过我仔细排查发现一个很诡异的问题,就是无法获取mac地址了。于是我仔细把获取mac地址的一些资料看了看,加上一些调试,总算是解决了这个问题。现在决定把这块小结下,以免再次遇到问题。

     mac地址又称为物理地址,和ip地址不同的是,mac地址由网卡决定,也就是一个设备只能有一个mac地址,所以经常作为唯一标识码来使用。我在网上找了下,总共找到四中获取mac地址的方法。


1.通过wifimaneger来获取

    wifimaneger是Android里对wifi的管理器,可以通过它查询到网卡状态,无线信号列表,当前网络,连接ip,以及mac地址等。这是目前比较常见的一种,我用手机试了下,发现这个方法在手机刚开机时候是没用的,如图所示:

    

    当我打开了wifi(即使不连)以后,就可以获取到正常的mac地址了,如图所示:


    然后我发现,其实这个wifimaneger里获取的就和手机里的高级wlan里显示的一样,获取的mac地址或者是ip地址,如图所示:


    代码为:

mWifiManager = (WifiManager) context
        .getSystemService(Context.WIFI_SERVICE);
mWifiInfo = mWifiManager.getConnectionInfo();
String mScanResult = mWifiAdmin.getMacAddress();

     总结下就是:wifimaneger获取mac必须是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值