android如何获取以太网mac地址

_天下琦闻
2013-10-10 · TA获得超过2427个赞
知道小有建树答主
回答量:1075
采纳率:0%
帮助的人:2546万
展开全部
本文讲述无线网和以太网mac地址获取的方法: 1.以太网获取mac地址 因为机顶盒系统是linux内核的,假设ethernet是eth0,那么可以从以下文件中读取相关信息:/sys/class/net/eth0/address方法1: public static String loadFileAsString(String filePath) throws java.io.IOException{ StringBuffer fileData = new StringBuffer(1000); BufferedReader reader = new BufferedReader(new FileReader(filePath)); char[] buf = new char[1024]; int numRead=0; while((numRead=reader.read(buf)) != -1){ String readData = String.valueOf(buf, 0, numRead); fileData.append(readData); } reader.close(); return fileData.toString();}/** Get the STB MacAddress*/public String getMacAddress(){ try { return loadFileAsString("/sys/class/net/eth0/address") .toUpperCase().substring(0, 17); } catch (IOException e) { e.printStackTrace(); return null; }}方法2:NetworkInterface NIC = NetworkInterface.getByName("eth0"); byte[] buf = NIC.getHardwareAddress(); for (int i = 0; i < buf.length; i++) { mac = mac + byteHEX(buf);}if (mac != null && !"".equals(mac)) { }2.wifi获取mac和ip首先要在manifest.xml文件中添加权限: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>获取mac的代码如下WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress();获取Ip的代码public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface .getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); if (intf.getName().toLowerCase().equals("eth0")) { for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) { InetAddress inetAddress = enumIpAddr.nextElement(); if (!inetAddress.isLoopbackAddress()) { String ipaddress = inetAddress.getHostAddress().toString(); if(!ipaddress.contains("::")){//ipV6的地址 return ipaddress; } } } } else { continue; } } } catch (Exception ex) { Log.e("WifiPreference IpAddress", ex.toString()); } return null; }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家可靠的代理服务提供商,提供原生IP(住宅原生IP)和高匿名代理服务。以下是关于StormProxies的原生IP服务的一些信息:1. 住宅原生IP:StormProxies提供的住宅原生IP是指从真实的家庭或企... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式