您的位置:首页 > 理论基础 > 计算机网络

判断Android设备是否连接网络

2012-08-17 09:40 615 查看
/**
  * 判断Android客户端网络是否连接 
  * @param context
  * @return 真假
  */public static boolean checkNet(Context context) {   
           
        try {   
            ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   
            if (connectivity != null) {   
               
                NetworkInfo info = connectivity.getActiveNetworkInfo();   
                if (info != null && info.isConnected()) {   
                   
                    if (info.getState() == NetworkInfo.State.CONNECTED) {   
                        return true;   
                    }   
                }   
            }   
        } catch (Exception e) {   
        return false;   
}   
        return false;   
    }

以上代码只能判断是否有可用的连接,而不能判断是否能连网



* 检验网络连接 并toast提示
* 
* @return
*/
public boolean note_Intent(Context context) {
	ConnectivityManager con = (ConnectivityManager) context
		.getSystemService(Context.CONNECTIVITY_SERVICE);
	NetworkInfo networkinfo = con.getActiveNetworkInfo();
	if (networkinfo == null || !networkinfo.isAvailable()) {
	// 当前网络不可用
		Toast.makeText(context.getApplicationContext(), "请先连接Internet!",
		Toast.LENGTH_SHORT).show();
		return false;
	}
	boolean wifi = con.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
		.isConnectedOrConnecting();
	if (!wifi) { // 提示使用wifi
		Toast.makeText(context.getApplicationContext(), "建议您使用WIFI以减少流量!",
		Toast.LENGTH_SHORT).show();
	}
	return true;

}

以上转自:http://www.iteye.com/topic/1117733



android中判断网络连接是否可用

http://www.cnblogs.com/codeworker/archive/2012/04/23/2467180.html

一、判断网络连接是否可用

public static boolean isNetworkAvailable(Context context) {   
        ConnectivityManager cm = (ConnectivityManager) context   
                .getSystemService(Context.CONNECTIVITY_SERVICE);   
        if (cm == null) {   
        } else {
       //如果仅仅是用来判断网络连接
        //则可以使用 cm.getActiveNetworkInfo().isAvailable();  
            NetworkInfo[] info = cm.getAllNetworkInfo();   
            if (info != null) {   
                for (int i = 0; i < info.length; i++) {   
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {   
                        return true;   
                    }   
                }   
            }   
        }   
        return false;   
    }

二、判断GPS是否打开

public static boolean isGpsEnabled(Context context) {   
        LocationManager lm = ((LocationManager) context   
                .getSystemService(Context.LOCATION_SERVICE));   
        List<String> accessibleProviders = lm.getProviders(true);   
        return accessibleProviders != null && accessibleProviders.size() > 0;   
    }

三、判断WIFI是否打开

public static boolean isWifiEnabled(Context context) {   
        ConnectivityManager mgrConn = (ConnectivityManager) context   
                .getSystemService(Context.CONNECTIVITY_SERVICE);   
        TelephonyManager mgrTel = (TelephonyManager) context   
                .getSystemService(Context.TELEPHONY_SERVICE);   
        return ((mgrConn.getActiveNetworkInfo() != null && mgrConn   
                .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel   
                .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);   
    }

四、判断是否是3G网络

public static boolean is3rd(Context context) {   
        ConnectivityManager cm = (ConnectivityManager) context   
                .getSystemService(Context.CONNECTIVITY_SERVICE);   
        NetworkInfo networkINfo = cm.getActiveNetworkInfo();   
        if (networkINfo != null   
                && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {   
            return true;   
        }   
        return false;   
    }


五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

public static boolean isWifi(Context context) {   
            ConnectivityManager cm = (ConnectivityManager) context   
                    .getSystemService(Context.CONNECTIVITY_SERVICE);   
            NetworkInfo networkINfo = cm.getActiveNetworkInfo();   
            if (networkINfo != null   
                    && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {   
                return true;   
            }   
            return false;   
        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: