【Android】获取Mac地址
来源:互联网 发布:mac 照片文件夹 编辑:程序博客网 时间:2024/06/05 10:52
(1) 调用android 的API: NetworkInterface. getHardwareAddress ()
该API的level为9,只有android 2.3以上才有该接口
(2) 调用java 的方法: nbtstat/arp
一般android不支持这两个命令
(3) 调用Android的API: WifiManager
权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
代码:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifi.getConnectionInfo();return info.getMacAddress();
这个是设备开通Wifi连接,获取到网卡的MAC地址
(4) 调用Linux的busybox
/* ***************************************************************** * 子函数:获得本地MAC地址 ***************************************************************** */ public String getMacAddress(){ String result = ""; String Mac = ""; result = callCmd("busybox ifconfig","HWaddr"); //如果返回的result == null,则说明网络不可取 if(result==null){ return "网络出错,请检查网络"; } //对该行数据进行解析 //例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67 if(result.length()>0 && result.contains("HWaddr")==true){ Mac = result.substring(result.indexOf("HWaddr")+6, result.length()-1); Log.i("test","Mac:"+Mac+" Mac.length: "+Mac.length()); if(Mac.length()>1){ Mac = Mac.replaceAll(" ", ""); result = ""; String[] tmp = Mac.split(":"); for(int i = 0;i<tmp.length;++i){ result +=tmp[i]; } } Log.i("test",result+" result.length: "+result.length()); } return result; } public 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; }
0 0
- 【Android】获取Mac地址
- 【Android】获取Mac地址
- android获取mac地址
- Android 获取Mac地址
- android获取mac地址
- android获取mac地址
- 【Android】获取Mac地址
- android获取mac地址
- Android获取mac地址
- android 获取mac地址
- android 获取mac地址
- Android 获取 Mac地址
- Android 获取Mac地址
- 【Android】获取Mac地址
- 【Android】获取Mac地址
- android 获取mac地址
- Android获取手机Mac地址
- cocos2dx Android获取Mac地址
- 队列实现
- 无损压缩算法发展
- Redis数据结构
- MyBatis-数据修改
- 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。
- 【Android】获取Mac地址
- 何以解忧唯有杜康
- java-设计模式
- vim配置主题
- 为什么构造函数不能声明为虚函数,析构函数可以
- unity3D面试题汇总
- Oracle heap 表的主键 dump 分析
- 设置页眉的章节及标题方法
- centos redis