Android6.0系统MAC地址获取的方法
来源:互联网 发布:淘宝鞋子买大了怎么换 编辑:程序博客网 时间:2024/05/16 15:06
最近在项目中发现一个问题,在Android6.0的版本以后用原来的getMacAddress()方法获取手机的MAC地址都为:02:00:00:00:00:00这个固定的值,获取不到原来的值了,原来Android6.0对硬件信息的访问,其管控更加严格。SD 卡的读写,除了权限声明之外,还应该动态请求,否则就会被禁止。读取设备的 IMEI 也一样。
后来查看资料解决了这个问题,具体代码如下
/** * 获取手机的MAC地址 * @return */public String getMac(){String str="";String macSerial="";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 (Exception ex) { ex.printStackTrace(); } if (macSerial == null || "".equals(macSerial)) { try { return loadFileAsString("/sys/class/net/eth0/address") .toUpperCase().substring(0, 17); } catch (Exception e) { e.printStackTrace(); } } return macSerial;} public static String loadFileAsString(String fileName) throws Exception { FileReader reader = new FileReader(fileName); String text = loadReaderAsString(reader); reader.close(); return text; } public static String loadReaderAsString(Reader reader) throws Exception { StringBuilder builder = new StringBuilder(); char[] buffer = new char[4096]; int readLength = reader.read(buffer); while (readLength >= 0) { builder.append(buffer, 0, readLength); readLength = reader.read(buffer); } return builder.toString(); }通过以上的方法,完美的解决了Android6.0获取不到MAC地址的问题了,希望对大家有用!
3 1
- Android6.0系统MAC地址获取的方法
- android6.0获取wifi mac地址的一种方法
- 关于获取Android6.0的MAC地址
- Android6.0 获取MAC地址
- Android6.0系统获取不到蓝牙和wifi的真实MAC地址
- android6.0及以上获取wifi mac地址的方法(亲测可行)
- android6.0获取蓝牙mac地址
- 一行代码解决Android6.0系统获取不到蓝牙真实MAC地址
- [译]获取系统网络MAC地址的三种方法
- 获取系统网络MAC地址的三种方法
- 获取系统网络MAC地址的三种方法
- 获取mac地址的方法
- android6.0获取wlan Mac
- 获取系统IP地址和MAC地址方法总结
- android6.0获取蓝牙mac地址 但获取到02:00:00:00:00:00 解决方法
- 获取本机mac地址的方法
- PHP获取网卡MAC地址的方法
- PHP获取网卡MAC地址的方法
- sql注入攻击
- Android Studio超详细配置设置说明
- 机器学习--无监督学习
- ios8开发视频
- java中byte数组与int类型的转换的几种方式
- Android6.0系统MAC地址获取的方法
- ios获取图片exif信息
- linux centos6.5 64位 安装nginx
- Android Fragment 真正的完全解析(上)
- Android--这些小工具让你的Android 开发更高效
- C/C++ 二维指针 矩阵 初始化
- Android——属性动画(Property Animation)
- Xcode 6制作动态及静态Framework
- 一、2440裸机点亮led