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

判断Android设备是否连接网络

2013-04-03 21:29 483 查看
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;

}

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

[java] view plaincopyprint?

* 检验网络连接 并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
一、判断网络连接是否可用

[java] view plaincopyprint?

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.getState() == NetworkInfo.State.CONNECTED) {

return true;

}

}

}

}

return false;

}

二、判断GPS是否打开

[java] view plaincopyprint?

public static boolean isGpsEnabled(Context context) {

LocationManager lm = ((LocationManager) context

.getSystemService(Context.LOCATION_SERVICE));

List accessibleProviders = lm.getProviders(true);

return accessibleProviders != null && accessibleProviders.size() > 0;

}

三、判断WIFI是否打开

[java] view plaincopyprint?

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网络

[java] view plaincopyprint?

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就可以建议下载或者在线播放。

[java] view plaincopyprint?

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: