【问题标题】:Is connecting to a Network means that I am connecting to a WiFi正在连接到网络意味着我正在连接到 WiFi
【发布时间】:2014-11-08 12:22:03
【问题描述】:
鉴于此,我的设备上只有WiFi 网络可用,没有mobile 网络,只有WiFi。
如果我使用connectivityManager 检查与网络的连接,结果是“我已连接”,这是否意味着我也连接到WIFI?如果是,为什么我无法从Connectivity Manager 对象中获取有关我的WiFi 的信息,例如ssid、speed、link speed、ip 和其他人?因为,要获得此类信息,您必须先连接到WiFi。
【问题讨论】:
标签:
android
broadcastreceiver
android-wifi
wifimanager
【解决方案1】:
您可以检查您是否已连接并连接到 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
【解决方案2】:
我认为连接到网络表明您已连接到互联网,无论是通过 WiFi、移动网络、蓝牙还是任何其他网络。
如果您通过 WiFi 连接到互联网,那么您当然是通过特定网络连接到网络。
因此,connectivity manager 类包含有关您连接到 Internet 的网络的所有网络信息。由于它是一个通用类,您可以获得有关您连接到互联网的网络的信息。