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

How to check if I am connected to a certain wifi network?

我对开发 android 应用程序完全陌生。我想让我的应用程序(持续或每隔几分钟)在后台检查我是否连接到某个 wifi 网络。如果是这样,它应该调用某个class。不幸的是,到目前为止,我无法提供太多代码片段。任何人都可以帮助我做到这一点吗?

您尝试过使用:

android.net.wifi.WifiInfo.getSSID()

查看此方法的 documentation。您还可以从 WifiInfo.

获得更多有用的信息

只需定义一个方法来确定设备当前是否连接到特定的 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
}