您的位置:首页 > 移动开发 > Android开发

获取android的实时网速

2015-09-09 17:30 531 查看
最近在做电视盒子应用的时候出现这样额问题,获取实时的网速在LG电视上怎么也获取不到,苦恼了很久,终于找到了解决方案,使用以下方式去获取实时网速,在所有的盒子上或者电视上都能使用,方法如下:

/**
* 获取网络的时时网速,使用方法是:
* 每隔一段时间读取一次总流量,然后用本次和前一次的差除以间隔时间来获取平均速度,再换算为 K/s M/s
* 等单位,显示即可。
*
* @return 实时的网速(单位byte)
*/
public static int getNetSpeedBytes() {
String line;
String[] segs;
int received = 0;
int i;
int tmp = 0;
boolean isNum;
try {
FileReader fr = new FileReader("/proc/net/dev");
BufferedReader in = new BufferedReader(fr, 500);
while ((line = in.readLine()) != null) {
line = line.trim();
if (line.startsWith("rmnet") || line.startsWith("eth") || line.startsWith("wlan")) {
segs = line.split(":")[1].split(" ");
for (i = 0; i < segs.length; i++) {
isNum = true;
try {
tmp = Integer.parseInt(segs[i]);
} catch (Exception e) {
isNum = false;
}
if (isNum == true) {
received = received + tmp;
break;
}
}
}
}
in.close();
} catch (IOException e) {
return -1;
}
return received;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: