Para leer cuantos bytes se han bajado a través de una red wifi.
También podremos chequear la velocidad de conexión, mirando lo siguiente:
tiempo = curReadBytes syncFetchReceivedBytes ();
cadena strSpeed = (curReadBytes-lastReadBytes) / 1024 kbps
lastReadBytes = curReadBytes;
Código de ejemplo
private long parserNumber(String line) throws Exception {
long ret=0;
String[] delim = line.split(" ");
if(delim.length >= 1){
ret = Long.parseLong(delim[0]);
}
return ret;
} public long syncFetchReceivedBytes() {
// TODO Auto-generated method stub
ProcessBuilder cmd;
long readBytes=0;
BufferedReader rd = null;
try {
String[] args = { "/system/bin/cat", "/proc/net/dev" };
cmd = new ProcessBuilder(args);
Process process = cmd.start();
rd = new BufferedReader(new InputStreamReader(
process.getInputStream()));
String line;
int linecount = 0;
while ((line = rd.readLine()) != null) {
linecount++;
if(line.contains("lan0")||line.contains("eth0")){
String[] delim = line.split(":");
if(delim.length>=2){
readBytes=parserNumber(delim[1].trim());
break; }
}
}
rd.close();
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (rd != null) {
try {
rd.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return readBytes;
}
No hay comentarios:
Publicar un comentario