在众多的测试手机中,机型coolpad大神机奇葩问题。在使用volley的时候会post手机信息到后台,包括mac地址,一开始用的是方法:

/**
 * 获取手机的mac
 *
 * @return
 */
public static String getLocalMacAddress(Context appContext) {WifiManager wifi = (WifiManager) appContext.getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifi.getConnectionInfo();return info.getMacAddress();
}
   这个在wifi下没有任何问题,但是切换到4G网的时候,获取不到MAC地址。百度了一下解决方案,很多:
   
//根据IP获取本地Mac
public static String getLocalMacAddressFromIp(Context context) {String mac_s= "";try {byte[] mac;NetworkInterface ne=NetworkInterface.getByInetAddress(InetAddress.getByName(getLocalIpAddress()));mac = ne.getHardwareAddress();mac_s = byte2hex(mac);} catch (Exception e) {e.printStackTrace();}return mac_s;
}


/*****************************************************************************/
public static  String byte2hex(byte[] b) {StringBuffer hs = new StringBuffer(b.length);String stmp = "";int len = b.length;for (int n = 0; n < len; n++) {stmp = Integer.toHexString(b[n] & 0xFF);if (stmp.length() == 1)hs = hs.append("0").append(stmp);else {hs = hs.append(stmp);}}return String.valueOf(hs);
}
上面这个亲测无效,下面这个可以使用:
public static String getMacAddress() {String result = "";String Mac = "";result = callCmd("busybox ifconfig", "HWaddr");if (result == null) {return "网络出错,请检查网络";}if (result.length() > 0 && result.contains("HWaddr")) {Mac = result.substring(result.indexOf("HWaddr") + 6, result.length() - 1);if (Mac.length() > 1) {result = Mac.toLowerCase();}}return result.trim();}public static String callCmd(String cmd,String filter) {String result = "";String line = "";try {Process proc = Runtime.getRuntime().exec(cmd);InputStreamReader is = new InputStreamReader(proc.getInputStream());BufferedReader br = new BufferedReader (is);//执行命令cmd,只取结果中含有filter的这一行
         while ((line = br.readLine ()) != null && line.contains(filter)== false) {
//result += line;
            Log.i("test","line: "+line);}result = line;Log.i("test","result: "+result);}catch(Exception e) {e.printStackTrace();}return result;}

获取手机MAC地址问题相关推荐

  1. android+手机mac地址,Android 获取手机Mac地址,手机名称

    /** * 获取手机mac地址 * 错误返回12个0 */ public static String getMacAddress(Context context) { // 获取mac地址: Stri ...

  2. mac地址修改_如何修改手机MAC地址?

    我们都知道MAC是网卡的物理的地址,一般是固化的网卡芯片,不管是手机和电脑都是相对于的MAC地址的,不管什么情况下MAC的地址都是唯一的.而对于电脑来说大家可以通过更换网卡的方式来换MAC地址,但是对 ...

  3. android模拟ip地址,安卓 获取手机IP地址的实现代码

    1.获取手机IP地址的代码: public static String getLocalIpAddress(){ try{ for (Enumeration en = NetworkInterface ...

  4. java通过ip获取网卡MAC地址

    参考:http://www.jb51.net/article/73882.htm /** * 获取MAC地址 * @author * 2011-12 */ public static class Ge ...

  5. chrome web获取mac地址_老鬼傻瓜式讲解网络知识:网络设备如何通过IP地址获取设备MAC地址...

    导读:在前面老鬼向各位好友介绍一些关于网络的基础知识,同时针对ICMP协议(常见使用的Ping测试网络就是使用该协议)进行了详细介绍.具体可参见<Ping是你经常测试工业智能制造网络的工具,但你 ...

  6. Delphi自定义获取网卡MAC地址过程

    //获取网卡MAC地址=============================================================== procedure CvtInt; asm     ...

  7. android 手机固定mac,Android之获取手机MAC

    一种比较折衷的办法,在获取MAC地址之前先判断当前WiFi状态,若开启了Wifi,则直接获取MAC地址,若没开启Wifi,则用代码开启Wifi,然后马上关闭,再获取MAC地址. ​ 目前此方法测试成功 ...

  8. kotlin获取属性_Kotlin程序获取系统MAC地址

    kotlin获取属性 The task is to get system MAC address. 任务是获取系统MAC地址. package com.includehelp import java. ...

  9. java如何获得wlan mac_Android M 如何获取 Wifi MAC地址

    今天在撸代码时发现,之前能获取mac地址的方法在nexus 6上返回了"02:00:00:00:00:00",进入设置查看mac地址,结果不相同,肯定有问题,于是就开始上网查资料一 ...

  10. java获取本地mac地址

    如何用java代码获取本地mac地址呢? 我们可以通过cmd命令:ipconfig -all  来查看我们电脑上的mac地址是多少. 目录 一.自定义方法获取本地mac地址 二.利用第三方工具类获取本 ...

最新文章

  1. java-通过ip获取地址
  2. 世界杯规则终因IT而改变
  3. flex布局和单行省略不兼容
  4. SecureCRT上传和下载文件(下载默认目录)
  5. 产品待办列表的几个最佳实践
  6. android 通知栏按钮,android 通知栏添加按钮点击效果
  7. ASP.NET Core 中使用IHttpClientFactory发出HTTP请求
  8. Hbase 预写日志WAL处理源码分析之 LogCleaner
  9. mysql 闪回到指定时间_oracle数据库表恢复到特定时间点
  10. java cfg_如何使用antlr生成Java CFG(控制流图)?
  11. C语言可变参数函数的使用及相关函数介绍
  12. ecshop各项功能介绍参考
  13. 读jquery 权威指南[4]-Ajax
  14. idea快速生成SpringBoot项目无法启动问题
  15. JDK的问题:用C启动虚拟机跟java运行结果有差异
  16. JAVA常见设计模式面试题
  17. WinFrom窗体MyQQ程序(附源码)
  18. 3097-小鑫爱数学
  19. php转调页面,转调踏莎行上巳道中作
  20. postgresql垃圾清理插件pg_repack

热门文章

  1. 关于公布部分非法刊物的通知及冀职改办字[2006]48号
  2. 【云原生】安全容器 Kata Containers
  3. ps学习之立体字设计
  4. MOOC中国大学慕课C语言期末编程试题
  5. 计算机主硬盘,电脑是固态和机械双盘系统在固态为什么显示主硬盘是机械盘
  6. java 苹果cms 萌果_苹果cms打包app
  7. 博客总纲 博客目录V1
  8. java海贼王秘宝传说下载_我的世界1.7.10海贼王整合包
  9. Oracle数据库的锁类型
  10. Win10开机任务栏卡死