如何检查我是否连接到某个wifi网络?

时间:2018-05-01 20:29:57

标签: android wifi android-wifi internet-connection

我是开发Android应用程序的新手。我希望我的应用程序(不断或可能每隔几分钟)检查后台是否连接到某个wifi网络。如果是这样,它应该调用某个类。不幸的是,到目前为止,我所提供的代码片段并不多。任何人都可以帮我这么做吗?

2 个答案:

答案 0 :(得分:2)

只需定义一个方法,确定设备当前是否连接到特定的SSID:

public boolean isConnectedTo(String ssid, Context context) {
    boolean retVal = false;
    WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifi.getConnectionInfo();
    if (wifiInfo != null) {
        String currentConnectedSSID = wifiInfo.getSSID();
        if (currentConnectedSSID != null && ssid.equals(currentConnectedSSID)) {
            retVal = true;
        }
    }
    return retVal;
}

然后只使用这样的方法:

if (isConnectedTo("SOME_SSID", MainActivity.this)) {
    //Call into other class
}

答案 1 :(得分:1)

您是否尝试过使用:

android.net.wifi.WifiInfo.getSSID()

查看此方法的documentation。您还可以从WifiInfo获得更多有用的信息。