如何确定设备是连接还是连接到Wifi热点?

时间:2012-09-08 08:44:08

标签: android networking wifi

首先,我使用WifiManager.getWifiState()方法确定我的设备的Wi-Fi是否已启用。如果已启用,WifiManager.getConnectionInfo()将返回带有SSID和我需要的其他信息的WifiInfo对象。但是,我怎么知道设备是否已经连接到具有该SSID的热点,或者仍然连接?我是否必须创建BroadcastReciever类?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

这是给你的代码:

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;
}

希望它会对你有所帮助。

答案 2 :(得分:0)

这可能有助于你

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();
    }