Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android之檢測是否有網絡

android之檢測是否有網絡

編輯:關於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;
	}



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved