android之检测是否有网络

主要是用来检测是否有网络,如果没有,就去wifi里面去进行设置网络。。。

  下面贴一下主要代码:

 

private void checkNetWorkInfo() {
		if (!Tools.isNetworkAvailable(this)) {
			new AlertDialog.Builder(this)
					.setTitle("提示!")
					.setIcon(android.R.drawable.ic_dialog_info)
					.setMessage("检测到你还没开启网络,请开启")
					.setNegativeButton("取消", null)
					.setPositiveButton("开启",
							new DialogInterface.OnClickListener() {

								@Override
								public void onClick(DialogInterface dialog,
										int which) {
									startActivity(new Intent(
											Settings.ACTION_WIRELESS_SETTINGS));// 进入无线网络配置界面
									startActivity(new Intent(
											Settings.ACTION_WIFI_SETTINGS)); // 进入手机中的wifi网络设置界面
								}
							}).show();
		}
	}

 

isNetworkAvailable里面的代码:

/*
	 * 判断是否有网络
	 */
	public static boolean isNetworkAvailable(Context context) {
		ConnectivityManager cm = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (cm == null) {
			return false;
		} else {
			// 打印所有的网络状态
			NetworkInfo[] infos = cm.getAllNetworkInfo();
			if (infos != null) {
				for (int i = 0; i < infos.length; i++) {
					// Log.d(TAG, "isNetworkAvailable - info: " +
					// infos[i].toString());
					if (infos[i].getState() == NetworkInfo.State.CONNECTED) {
						Log.d(TAG, "isNetworkAvailable -  I " + i);
					}
				}
			}

			// 如果仅仅是用来判断网络连接      
			// 则可以使用 cm.getActiveNetworkInfo().isAvailable();
			NetworkInfo networkInfo = cm.getActiveNetworkInfo();
			if (networkInfo != null) {
				Log.d(TAG,
						"isNetworkAvailable - 是否有网络: "
								+ networkInfo.isAvailable());
			} else {
				Log.d(TAG, "isNetworkAvailable - 完成没有网络!");
				return false;
			}

			// 1、判断是否有3G网络
			if (networkInfo != null
					&& networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
				Log.d(TAG, "isNetworkAvailable - 有3G网络");
				return true;
			} else {
				Log.d(TAG, "isNetworkAvailable - 没有3G网络");
			}

			// 2、判断是否有wifi连接
			if (networkInfo != null
					&& networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
				Log.d(TAG, "isNetworkAvailable - 有wifi连接");
				return true;
			} else {
				Log.d(TAG, "isNetworkAvailable - 没有wifi连接");
			}
		}
		return false;
	}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值