2014-11-08 89 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类拥有有关您通过其连接到互联网的网络的所有网络信息。并且由于它是一个通用类,因此您可以获取有关通过其连接到互联网的网络的信息。