2012-09-08 74 views
0

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

回答

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

希望它會幫助你。

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

非常感謝。你的答案真的很有用:) – Poligun

+0

享受與編碼 – Rajendra

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(); 
    } 
相關問題