2013-08-23 72 views
13

在我的應用程序中,我需要檢查WiFi和移動數據的連接速度,然後比較它,然後切換到哪個網絡具有最高速度。獲取WIFI和移動數據的信號強度

  • 那麼我怎樣才能獲得無線和移動 數據的速度或最佳信號強度?
  • 如何以編程方式關閉和關閉其他功能。

請幫我一把。 樣本會有所幫助。

+0

從來沒有這樣做過,但也許這可以幫助你一點http://mobisocial.stanford.edu/news/2011/03/control-3g-interface-with-your-own-application-on- andriod-phone /。其餘工作應通過檢查NetworkManager +連接速度測試來完成。 希望它有幫助 –

回答

30

無線上網:

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); 
int linkSpeed = wifiManager.getConnectionInfo().getRssi(); 

在移動情況下,它應該工作:

TelephonyManager telephonyManager =  (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE); 
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0); 
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength(); 
cellSignalStrengthGsm.getDbm(); 

,那麼你應該比較這信號電平,如果WIFI信號更好的保持它打開,但如果手機是更好地斷開wifi

+0

如何以編程方式切換WiFi? – WISHY

+4

Add premission ACCESS_WIFI_STATE,CHANGE_WIFI_STATE 然後,您可以在活動課程中使用以下內容: wifiManager.setWifiEnabled(false); –

+0

thnx很多伴侶 – WISHY

相關問題