Android获取Mac地址(WIFI,移动网络,网线(lan))
来源:互联网 发布:图像算法教程 编辑:程序博客网 时间:2024/06/10 00:10
帖子原地址:http://blog.csdn.net/zxw136511485/article/details/52161269
获取mac地址一般有3中情况:WIFI,移动网络,lan口(网线),在网上找了一圈,大多数都只支持WIFI,没有考虑移动网络和lan口的情况,也没有考虑到6.0系统的情况,终于找到一个能兼容这三种情况的方法:
/** * 获取Mac地址 */ public class MacUtils { /** * 获取手机的MAC地址 * * @return */ public static 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(); } }
PS:在6.0上需要AndroidManifest.xml在加入以下2个权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
阅读全文
0 0
- Android获取Mac地址(WIFI,移动网络,网线(lan))
- Android 获取WIFI MAC地址的方法
- Android M 如何获取 Wifi MAC地址
- Android获取手机IP地址 WIFI MAC地址
- 获取WiFi MAC地址总结
- 获取WiFi MAC地址总结
- Android 在wifi下获取IP和MAC地址
- Android下获取以太网mac地址方法 非wifi
- Android获取Ethernet、WIFI的ip和mac地址
- Android获取Ethernet、WIFI的ip和mac地址
- Android 不开WiFi获取Mac地址 夜未央
- 基于Android 6.0获取指定Mac地址WiFi信息
- Android中Wifi未开启情况下获取Mac地址
- NetworkInfo类,判断网络类型,获取WIFI名称,网速,网络信号,IP地址,MAC地址
- Linux LAN 通过IP获取目标主机的MAC地址
- 如何使用Java代码获取Android移动终端Mac地址
- 获取wifi及bt mac地址
- WiFi设备MAC地址的获取-----安卓端
- 注册申请PayPal支付账户
- 回溯+剪枝+剪枝+剪枝...... Vijos P1199 小木棍
- IOS OC中使用Swift的Charts第三方控件
- 内存优化01
- Java中sleep()方法和wait()方法用法和区别
- Android获取Mac地址(WIFI,移动网络,网线(lan))
- 深度学习优化函数详解(2)-- SGD 随机梯度下降
- Excel导出几十万条数据
- Android音频处理——通过AudioRecord去保存PCM文件进行录制,播放,停止,删除功能
- 构造器
- python的warnings波浪线,拷贝到word里,不好看,去掉后好很多
- 解决编译apache出现的问题:configure: error: APR not found . Please read the documentation
- Servlet 3.0笔记之超方便的文件上传支持
- 简单实现的观察者模式