2010-10-11 78 views
3

是否可以創建一個應用程序,以在作爲後臺進程運行時獲取網絡活動/統計信息?或者只是讓一個應用程序監聽特定端口上的流量?Android網絡統計

感謝 中號

回答

3

它也許碰運氣。但是我使用的大多數設備都有/ proc文件系統。您應該能夠從/ proc/net /條目中獲取所需的統計數據。例如獲得netstat:

Process proc = Runtime.getRuntime().exec(new String[] {"cat", "/proc/net/netstat"}); 
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
String line = null; 

while ((line = reader.readLine()) != null) 
{ 
    // parse netstat output here 
} 
+6

有沒有必要使用EXEC,剛讀從Java – 2011-02-25 21:49:25

+0

我應該放在那裏解析數據文件?例如,如何檢查總下載和上傳速度(全局和/或特定應用程序)? – 2016-09-01 13:55:38

-1

不需要運行「cat/proc/net/netstat」命令。取而代之的是更簡單的方法就可以解決問題

Process proc = Runtime.getRuntime().exec(new String[] {"netstat"}); 
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
String line = null; 
while ((line = reader.readLine()) != null) { 
// parse netstat output here 
} 
+0

,它是如何更簡單? – Ankit 2015-07-03 07:12:43