2014-04-08 126 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" /> 
相关问题