Checking for network connectivity

It is a good practice to check if an Android device is connected to a network before performing operations that access network resources, local or internet. The following method can be added to check if a network connection is available. Be sure to add this permission to the app manifest:

android.permission.ACCESS_NETWORK_STATE

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;
    	}
    	return haveConnectedWifi || haveConnectedMobile;
    }