2014-04-08 162 views
1

我知道如何檢查wifi是否啓用。如何檢查用戶是否連接到無線網絡?

代碼:

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE); 
if(wifi.isWifiEnabled()) 
{ 
    //Code execution comes here 
} 

但如何找出如果用戶實際上是連接到附近的WiFi網絡(或者WIFI網絡的這個問題)?

編輯:我的意思是說,如果用戶在輸入密碼後登錄到wifi網絡,那麼他只能使用該wifi。那麼無論如何檢查是否已連接(登錄)到任何WiFi網絡?

+1

請檢查信號強度相應地對於每個支持WiFi –

+0

我的意思是說會有一個需要輸入密碼真正連接到某些WiFi網絡。有沒有辦法來檢查用戶是否已經*登錄*到無線網絡? – SoulRayder

+0

檢查我的ans爲這:)可能這將幫助你 –

回答

0

試試這個:

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

if (mWifi.isConnected()) { 
    // Do whatever 
} 

希望這有助於.. :)

+0

如果用戶連接到無線網絡,這將進入if條件。我可以檢查他是否已登錄到無線網絡? – SoulRayder

0

試試這個

ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE); 
boolean wifi=con.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting(); 

    //check Internet connection 
    if(wifi) 
    { 
     //do what you want 
    }else{ 
    } 

還可以添加需要的權限

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

希望這將做技巧

1

您應該可以使用ConnectivityManager獲取Wifi適配器的狀態。通過這個你可以check如果連接...

的方法來檢查無線網絡連接是否conected與否: -

public static Boolean checkWIFI(Activity activity) { 
    Log.d("checkWIFI", "checkWIFI"); 

    ConnectivityManager cm = (ConnectivityManager) activity 
      .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = cm.getActiveNetworkInfo(); 

    Log.d("NetworkInfo", "NetworkInfo" + netInfo); 

    if (netInfo != null && netInfo.isConnectedOrConnecting()) { 
     return true; 
    } else if (netInfo != null 
      && (netInfo.getState() == NetworkInfo.State.DISCONNECTED 
        || netInfo.getState() == NetworkInfo.State.DISCONNECTING 
        || netInfo.getState() == NetworkInfo.State.SUSPENDED || netInfo 
        .getState() == NetworkInfo.State.UNKNOWN)) { 
     return false; 

    } else { 
     return false; 
    } 
} 

您需要在您的清單

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.INTERNET" /> 

好添加許可運氣!!

0
/** 
    * 
    * Method to check internet connection is available 
    */ 

    public static boolean isInternetAvailable(Context context) { 
     boolean haveConnectedWifi = false; 
     boolean haveConnectedMobile = false; 
     boolean connectionavailable = false; 

     ConnectivityManager cm = (ConnectivityManager) context 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo[] netInfo = cm.getAllNetworkInfo(); 

     NetworkInfo informationabtnet = cm.getActiveNetworkInfo(); 
     for (NetworkInfo ni : netInfo) { 
      try { 

       if (ni.getTypeName().equalsIgnoreCase("WIFI")) 
        if (ni.isConnected()) 
         haveConnectedWifi = true; 
       if (ni.getTypeName().equalsIgnoreCase("MOBILE")) 
        if (ni.isConnected()) 
         haveConnectedMobile = true; 
       if (informationabtnet.isAvailable() 
         && informationabtnet.isConnected()) 
        connectionavailable = true; 

      } catch (Exception e) { 
       // TODO: handle exception 
       System.out.println("Inside utils catch clause , exception is" 
         + e.toString()); 
       e.printStackTrace(); 

      } 
     } 
     return haveConnectedWifi || haveConnectedMobile; 
    } 

我已經嘗試了類似的代碼在我的項目,是running.Hope這將幫助你... :)

+0

還要在清單文件中添加權限。 – Pihu

0

只需撥打了WIFI網絡這種方法可能,這將幫助ü:)

這樣調用checkWiFi(this); //通過context在這裏這個方法我通過this爲當前活動

public static final boolean checkWiFi(Context cn) 
    { 
     ConnectivityManager connManager = (ConnectivityManager) cn.getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

     if (mWifi.isConnected()) 
      return true; 
     else 
      return false; 
    } 

也採取permiss離子

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
相關問題