我正在開發一個應用程序,除了一件事情之外,它幾乎完成:我不知道如何獲得鏈接速度並將其置於狀態欄中。我是Java新手,如果有人可以幫助我,我會非常感謝。 P.S.對不起,英文不好。如何以編程方式獲取鏈接速度?
7
A
回答
34
正如提問者所建議的那樣,您的問題並不十分清楚。您可以指鏈路連接速度(即高達54 Mbps,具有良好的信號接收Wifi或高達7.2 Mbps的全速HSDPA),這取決於:
- 你正在使用的網絡接口時間。某些電話允許共享,這意味着您可以同時啓用Wifi和移動數據鏈路(GPRS/3G/HSDPA)或自動切換(如果您的Wifi連接斷開,您的電話將自動切換到移動網絡(如果激活))。
- 連接速度在時間協商。取決於信號質量/運營商網絡配置(有些具有最大速度限制)/移動數據合同(每月帶寬配額通常意味着默認爲GPRS速度)。
在這種情況下,恐怕沒有標準Java API的方法來知道它,但Android的API所需的功能:
- 對於無線網絡鏈接速度檢查WifiInfo.getLinkSpeed()
- 移動數據鏈接我擔心你只能檢查TelefonyManager.getNetworkType()來確定當前的移動數據鏈路類型。然後您應該通過鏈路類型接近實際速度(即,對於高達128 kbps的GPRS,對於高達236.8 kpbs的EDGE,對於高達2 Mbps的3G,對於高達7.2 Mbps的HSDPA)。考慮到這只是一個aproximation。您可能使用HSDPA連接,但您的運營商將最高速度限制爲2 Mbps。
在您參考當前(下載/上傳)數據鏈路速度這是隻適用於較高水平,實際測量而不是鏈接速度,但你的手機和服務器之間的速度其他情況下,這不僅取決於你的鏈接速度,還取決於許多其他因素(手機和服務器之間的所有鏈接,服務器本身等)。您可以測量「HTTP級別速度」,這意味着HTTP數據速度(不考慮數據包的開銷流量),因爲通常只有HTTP連接在每種情況下都受支持(您的運營商可能會隱藏您的代理,將所有內容過濾掉,但HTTP交通)。
如果您使用的是8級API,還可以使用名爲TrafficStats的有趣功能。這可以讓您知道手機通過移動數據鏈路交換的低級別的發送/接收數據包,該數據包可能只提供您在哪裏查找的信息(使用這些測量和經過的時間,您可以輕鬆地測量當前/平均使用的數據鏈接速度)。
2
你不能直接說出來。您必須詢問底層的操作系統。對於OS X,您可以在相應的網絡端口上解析「/ sbin/ifconfig」的輸出。
1
您也可以使用JNI編寫擴展名,並使用C來詢問連接速度。如果您不想解析來自其他應用程序的輸出,但請記住此解決方案不可移植。
相關問題
- 1. 以編程方式獲取鏈接速度?
- 2. 如何在Linux上以編程方式獲取網絡接口速度?
- 3. 如何以編程方式更改端口的連接速度?
- 4. 獲取鏈接速度 - Win32_PerfRawData_Tcpip_NetworkInterface
- 5. 如何以編程方式獲取layout_weight?
- 6. 如何以編程方式獲取UINavigationBar.navigationItem的高度?
- 7. iPhone/iPad:如何以編程方式獲取屏幕寬度?
- 8. 如何以編程方式在Windows Phone 8中獲取應用商店鏈接?
- 9. 如何以編程方式解析Apache速度變量?
- 10. 以編程方式鏈接CNContacts
- 11. 以編程方式點擊JQuery鏈接
- 12. 以編程方式鏈接的按鈕
- 13. 以編程方式獲取佈局的高度和寬度
- 14. 如何在ios上以編程方式獲得wifi或3G上網速度
- 15. 如何在android中以編程方式獲取經度和緯度位置?
- 16. 如何以編程方式獲取Windows進程的線程數?
- 17. 如何以編程方式訪問Google Drive共享鏈接?
- 18. 如何以編程方式添加WordPress鏈接/書籤?
- 19. 如何以編程方式通過鏈接加入Skype羣組?
- 20. 如何在c/C++中以編程方式創建軟鏈接?
- 21. 如何以編程方式點擊IE中的鏈接?
- 22. 如何以編程方式觸發點擊鏈接使用jQuery?
- 23. 如何以編程方式鏈接兩個js函數?
- 24. 如何以編程方式創建命令鏈接
- 25. GWT,以編程方式獲得超鏈接的相同效果
- 26. 如何以編程方式獲取Python編譯器字符串?
- 27. 如何以編程方式獲取Maven中的資源編碼
- 28. 如何以超鏈接方式獲取MYSQL數據?
- 29. 如何以編程方式將鏈接鏈接到Facebook頁面(Android)?
- 30. 如何在Windows 7/8上以多種方式獲取PCIE設備的鏈接速度
什麼是鏈接速度應該是? – 2010-12-13 14:10:47
您的意思是帶寬下載速度?或者你可能會提到一個不確定的進度條? – Franco 2010-12-13 14:11:55
你想知道互聯網連接能夠下載多快嗎?或者現在它下載速度有多快?還是其他什麼東西? – 2010-12-13 15:03:42