鉴于此,我在设备上只有WiFi
个网络,而且没有mobile
个网络,只有WiFi
。
如果我使用connectivityManager
来破坏与网络的连接,其结果是"我已连接",这是否意味着我也连接到WIFI
?如果是,为什么我无法获取WiFi
的信息,例如ssid
,speed
,link speed
,ip
以及来自Connectivity Manager
的其他人宾语?因为要获得此类信息,您必须首先连接到WiFi
。
答案 0 :(得分: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 Manager获取有关Wifi网络的信息
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
有关WifiInfo的更多信息 http://developer.android.com/reference/android/net/wifi/WifiInfo.html
答案 1 :(得分:0)
我认为连接到网络表明您通过WiFi,移动网络,蓝牙或任何其他网络连接到互联网。
如果您通过WiFi连接到互联网,当然,您已通过特定网络连接到网络。
因此,connectivity manager
类包含有关您通过其连接到互联网的网络的所有网络信息。由于它是一个通用类,您可以获取有关您通过其连接到Internet的网络的信息。