簡體   English   中英

如何確定設備是否正在連接或連接到Wi-Fi熱點?

[英]How to determine wether the device is connecting or connected to a Wi-Fi hotspot?

首先,我使用方法WifiManager.getWifiState()確定是否啟用了設備的Wi-Fi。 如果啟用,則WifiManager.getConnectionInfo()返回帶有SSID和我需要的其他信息的WifiInfo對象。 但是如何知道設備是否已經使用該SSID連接到熱點,或者仍在連接? 我必須創建一個BroadcastReciever類嗎?

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

這是給您的代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM