2013-12-21 28 views
0

手頭的挑戰是如何爲每個網絡接口獲取準確的數據計數器。 類TrafficStats提供一些幫助:Android:如何獲取個人數據使用情況計數器?

TrafficStats.getMobileRxBytes() /* Similar for TX */ 
TrafficStats.getTotalRxBytes() /* Similar for TX */ 

由此可以計算出移動接口的流量。 但是我看到幾個帖子聲稱:

  • WIFI usage = Total - Mobil;

由於Total包括所有網絡接口(即藍牙和USB以及WIFI和移動設備),因此這是不正確的。因此,使用上述計算,WIFI結果可能會超出其實際正確值。

任何人都可以協助或提供有關如何準確分析每個NetworkInterfaces的幫助嗎?

回答

0

這是不對的,因爲Total包括所有的網絡接口(即藍牙和USB以及WIFI和移動)。

我不完全確定您如何確定藍牙和USB包含在TrafficStats中。

任何人都可以協助或提供有關如何準確分析每個NetworkInterfaces的幫助嗎?

除了從TrafficStats得到的東西外,Android SDK中沒有任何東西。歡迎您來到play around with trying to get the information from Linux,但請注意,這可能無法在所有設備上使用。

+0

從開發文檔,我發現TrafficStats的定義如下: 公共靜態長getTotalRxPackets() 在API級別8 因爲設備引導接收的數據包返回數量。統計所有網絡接口的數據包數量,並且自設備引導以來始終單調遞增。統計數據是在網絡層進行測量的,因此它們包括TCP和UDP的使用。我的設備(HTC ONE X)上 「......在所有的網絡。」 上市網絡,我得到包括列表: > BLUETOOTH_TETHER > USBNET ..藍牙和USB兩種都是網絡接口中。 – user2802170

+0

@ user2802170:您假設準確的文檔,但不幸的是這不是一個有效的假設。我建議您使用藍牙(並在另一項測試中使用USB)進行實際測試,並確認對「TrafficStats」的影響。 – CommonsWare

+0

是的,我同意文件有時是可怕的... 以懶惰的名義..有其他人測試了這篇文章中聲稱的事實;即在TrafficStats計數器中包含USB和藍牙流量? – user2802170

相關問題