Android 如何确定设备是否正在连接或连接到Wi-Fi热点?

Android 如何确定设备是否正在连接或连接到Wi-Fi热点?,android,networking,wifi,Android,Networking,Wifi,首先,我使用方法WifiManager.getWifiState()确定设备的Wi-Fi是否已启用。如果已启用,WifiManager.getConnectionInfo()返回一个WifiInfo对象,其中包含SSID和我需要的其他信息。但是,我如何知道设备是否已经使用该SSID连接到热点,或者仍然在连接?我必须创建一个广播接收器类吗?这里有一个代码: public boolean isInternetAvailable() { ConnectivityManager cm = (Co

首先,我使用方法
WifiManager.getWifiState()
确定设备的Wi-Fi是否已启用。如果已启用,
WifiManager.getConnectionInfo()
返回一个
WifiInfo
对象,其中包含SSID和我需要的其他信息。但是,我如何知道设备是否已经使用该SSID连接到热点,或者仍然在连接?我必须创建一个
广播接收器
类吗?

这里有一个代码:

public boolean isInternetAvailable() {
    ConnectivityManager cm = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (cm.getActiveNetworkInfo() != null)
        return (cm.getActiveNetworkInfo().isConnected() && cm.getActiveNetworkInfo().isAvailable());
    else
        return false;
}
希望它能帮助你。

这可能会帮助你

   public  boolean IsWiFiConnected(){
    ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    return netInfo.isConnectedOrConnecting();
}
public static boolean isCheckedNetwork() {

        ConnectivityManager connect = (ConnectivityManager) mcontext.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo network = null;
        if (connect != null) {
            network = connect.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        }
        return network == null ? false : network.isConnected();
    }