前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不打开Wifi获取Mac地址

不打开Wifi获取Mac地址

作者头像
用户7557625
发布2020-07-15 11:13:27
3.6K0
发布2020-07-15 11:13:27
举报

今天遇到一个问题,要求不打开Wifi的前提下获取Mac地址,所以针对Android上Mac地址的获取做了总结。 MAC地址:每个接入网络的设备都有一个专门的序号,这个序号就是MAC。手机里的MAC特指WIFi无线网卡的MAC地址。 手机获取MAC地址的方法有以下几种: 1.通过WifiManager获取,代码如下:

代码语言:javascript
复制
String macAddress = null, ip = null;  
WifiManager wifiMgr = (WifiManager)getSystemService(Context.WIFI_SERVICE);  
WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo());  
if (null != info) {  
    macAddress = info.getMacAddress();  
    ip = int2ip(info.getIpAddress());  
}  

2.通过Linux底层的方法获取

代码语言:javascript
复制
public static String getLocalMacAddress() {  
   String macSerial = null;
       String str = "";
       try {
               Process pp = Runtime.getRuntime().exec(
                               "cat /sys/class/net/wlan0/address ");
               InputStreamReader ir = new InputStreamReader(pp.getInputStream());
               LineNumberReader input = new LineNumberReader(ir);

               for (; null != str;) {
                       str = input.readLine();
                       if (str != null) {
                               macSerial = str.trim();// 去空格
                               break;
                       }
               }
       } catch (IOException ex) {
               // 赋予默认值
               ex.printStackTrace();
       }
       return macSerial;

这俩种方式的区别是第一种可以不需要打开wifi,但是必须在此次开机时已经打开过wifi,并且6.0以后这种方法不管用了。第二种是必须在打开wifi的前提下才可以获取MAC地址。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档