Android 4.0 - check WiFi connection

I am using the function below to check the wifi hotspot connection:

public boolean IsWiFiConnected(){
 List<WifiConfiguration> wifiConfigList = wifiManager.getConfiguredNetworks();
 boolean retVal=false;
    for(WifiConfiguration wifiConf : wifiConfigList){               
        if(wifiConf.status==WifiConfiguration.Status.CURRENT){
            retVal=true;
            break;
        }
    }
 return retVal;
}

      

In android 4.0, it always returns false. It works great in previous versions. Thanks to

+3
android wifi android-wifi


source to share


3 answers


There is a faster and more reliable method than yours.



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

    return netInfo.isConnected();
}

      

+4


source to share


Just to expand on gabriel's answer, as it might be worth checking that the user has some kind of data connection, i.e. WiFi or Data. This will also display a dialog asking the user if they want to enable Wi-Fi using an Intent. Hope this helps you!



    private boolean haveNetworkConnection() {
    boolean haveConnectedWifi = false;
    boolean haveConnectedMobile = false;

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] netInfo = cm.getAllNetworkInfo();
    for (NetworkInfo ni : netInfo) {
        if (ni.getTypeName().equalsIgnoreCase("WIFI"))
            if (ni.isConnected())
                haveConnectedWifi = true;
        if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
            if (ni.isConnected())
                haveConnectedMobile = true;

    }
    if (haveConnectedWifi == false && haveConnectedMobile == false) {
        Log.d("Network State", "false");
        AlertDialog.Builder alert = new AlertDialog.Builder(YourActivity.this);                 
        alert.setTitle("No Data Connection!");  
        alert.setMessage("You have no data connection.");   
            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int whichButton) {
                    // TODO Auto-generated method stub
                    final Intent intent = new Intent(Intent.ACTION_MAIN, null);
                    intent.addCategory(Intent.CATEGORY_LAUNCHER);
                    final ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
                    intent.setComponent(cn);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity( intent);
                }

            });
            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    return;   
                }
            });
            alert.show();

    }else{
        //do something else
    }
    return haveConnectedWifi || haveConnectedMobile;
}

      

+2


source to share


check wifi status:

ConnectivityManager conMgr;
NetworkInfo netInfo;
WifiManager wifiMgr;

conMgr=(ConnectivityManager)getSystemService(context.WIFI_Service);
netInfo=conMgr.getActiveNetworkInfo();
if(!(netInfo==null))
{
if(WifiMgr.isWifiEnabled())
{
//wifi  enabled
}
else
{
//wifi disabled i.e not available
}
}

      

0


source to share







All Articles
Loading...
X
Show
Funny
Dev
Pics