2014-11-08 70 views
0

鑑於這一點,我只有WiFi網絡在設備上可用,沒有mobile網絡,只有WiFi正在連接到網絡意味着我正在連接到WiFi

如果我使用connectivityManager來連接到網絡,結果是「我已連接」,這是否也意味着我也連接到WIFI?如果是,爲什麼我無法獲得有關我的WiFi的信息,如ssidspeed,link speed,ip和其他來自Connectivity Manager的對象?因爲要獲得此類信息,您必須首先連接到WiFi

回答

0

您可以檢查您是否連接&連接到WiFi

ConnectivityManager cm = 
     (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 

NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); 
boolean isConnected = activeNetwork != null && 
         activeNetwork.isConnectedOrConnecting(); 
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI; 

可以使用的WiFi管理,以獲取有關WiFi網絡信息

WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); 
WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 

在WifiInfo http://developer.android.com/reference/android/net/wifi/WifiInfo.html

更多信息
0

我想連接到網絡表明你連接到互聯網網絡是否通過WiFi,移動網絡,藍牙或任何其他網絡。

如果您通過WiFi連接到互聯網,那麼當然,您已經連接到網絡,但通過特定的網絡。

因此,connectivity manager類擁有有關您通過其連接到互聯網的網絡的所有網絡信息。並且由於它是一個通用類,因此您可以獲取有關通過其連接到互聯網的網絡的信息。