Androidは携帯電話のネットワークタイプ、ネットワーク接続かどうかを判断する


ネットワークには次の権限が必要です.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"/>
/**
	 * 
	* @Title: isNetworkConnected 
	* @Description: TODO(          ) 
	* @param @param context
	* @param @return         
	* @return boolean    true     ,false      
	* @throws
	 */
	public boolean isNetworkConnected(Context context) {
		if (context != null) {
			ConnectivityManager mConnectivityManager = (ConnectivityManager) context
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			NetworkInfo mNetworkInfo = mConnectivityManager
					.getActiveNetworkInfo();
			if (mNetworkInfo != null) {
				return mNetworkInfo.isAvailable();
			}
		}
		return false;
	}

wifi:
public static boolean isWIFINetwork() {
        ConnectivityManager connectivityManager = (ConnectivityManager)TalaintMusicApplication.getInstance().getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        if(connectivityManager == null) {
            return false;
        }else{
            NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getTypeName().equals("WIFI") && info[i].isConnected()) {
                        return true;
                    }
                }
             }
         }
            return false;
    }

携帯電話の現在のネットワークタイプを判断する:
/**
 *            
 * 
 * @param context
 * @return
 */ 
public static String getCurrentNetType(Context context) { 
    String type = ""; 
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo info = cm.getActiveNetworkInfo(); 
    if (info == null) { 
        type = "null"; 
    } else if (info.getType() == ConnectivityManager.TYPE_WIFI) { 
        type = "wifi"; 
    } else if (info.getType() == ConnectivityManager.TYPE_MOBILE) { 
        int subType = info.getSubtype(); 
        if (subType == TelephonyManager.NETWORK_TYPE_CDMA || subType == TelephonyManager.NETWORK_TYPE_GPRS 
                || subType == TelephonyManager.NETWORK_TYPE_EDGE) { 
            type = "2g"; 
        } else if (subType == TelephonyManager.NETWORK_TYPE_UMTS || subType == TelephonyManager.NETWORK_TYPE_HSDPA 
                || subType == TelephonyManager.NETWORK_TYPE_EVDO_A || subType == TelephonyManager.NETWORK_TYPE_EVDO_0 
                || subType == TelephonyManager.NETWORK_TYPE_EVDO_B) { 
            type = "3g"; 
        } else if (subType == TelephonyManager.NETWORK_TYPE_LTE) {// LTE 3g 4g   , 3.9G      
            type = "4g"; 
        } 
    } 
    return type; 
}