【问题标题】: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 的信息,例如ssidspeedlink speedip 和其他人?因为,要获得此类信息,您必须先连接到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 的网络的所有网络信息。由于它是一个通用类,您可以获得有关您连接到互联网的网络的信息。

      【讨论】:

        猜你喜欢
        • 2015-05-20
        • 1970-01-01
        • 2019-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-29
        • 1970-01-01
        相关资源
        最近更新 更多