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; }



 

posted @ 2017-05-07 19:41  claireyuancy  阅读(259)  评论(0编辑  收藏  举报