Android适用代码片段

 1:判断是否有网络连接

public static boolean isNetworkAvailable(Context context) {
		ConnectivityManager connectivity = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);

		if (connectivity == null) {
			Log.w(LOG_TAG, "couldn't get connectivity manager");
		} else {
			NetworkInfo[] info = connectivity.getAllNetworkInfo();
			if (info != null) {
				for (int i = 0; i < info.length; i++) {
					if (info[i].isAvailable()) {
						Log.d(LOG_TAG, "network is available");
						return true;
					}
				}
			}
		}
		Log.d(LOG_TAG, "network is not available");
		return false;
	}

2:判断网络是否为漫游

	public static boolean isNetworkRoaming(Context context) {
		ConnectivityManager connectivity = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (connectivity == null) {
			Log.w(LOG_TAG, "couldn't get connectivity manager");
		} else {
			NetworkInfo info = connectivity.getActiveNetworkInfo();
			if (info != null
					&& info.getType() == ConnectivityManager.TYPE_MOBILE) {
				TelephonyManager tm = (TelephonyManager) context
						.getSystemService(Context.TELEPHONY_SERVICE);
				if (tm != null && tm.isNetworkRoaming()) {
					Log.d(LOG_TAG, "network is roaming");
					return true;
				} else {
					Log.d(LOG_TAG, "network is not roaming");
				}
			} else {
				Log.d(LOG_TAG, "not using mobile network");
			}
		}
		return false;
	}

3: 判断MOBILE网络是否可用

public static boolean isMobileDataEnable(Context context) throws Exception {
		ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		boolean isMobileDataEnable = false;

		isMobileDataEnable = connectivityManager.getNetworkInfo(
				ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

		return isMobileDataEnable;
	}

4:判断wifi 是否可用

public static boolean isWifiDataEnable(Context context) throws Exception {
		ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		boolean isWifiDataEnable = false;
		isWifiDataEnable = connectivityManager.getNetworkInfo(
				ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
		return isWifiDataEnable;
	}

5:设置Mobile网络开关

public static void setMobileDataEnabled(Context context, boolean enabled)
			throws Exception {
		APNManager apnManager=APNManager.getInstance(context);
		List<APN> list = apnManager.getAPNList();
		if (enabled) {
			for (APN apn : list) {
				ContentValues cv = new ContentValues();
				cv.put("apn", apnManager.matchAPN(apn.apn));
				cv.put("type", apnManager.matchAPN(apn.type));
				context.getContentResolver().update(uri, cv, "_id=?",
						new String[] { apn.apnId });
			}
		} else {
			for (APN apn : list) {
				ContentValues cv = new ContentValues();
				cv.put("apn", apnManager.matchAPN(apn.apn) + "mdev");
				cv.put("type", apnManager.matchAPN(apn.type) + "mdev");
				context.getContentResolver().update(uri, cv, "_id=?",
						new String[] { apn.apnId });
			}
		}
	}

猜你喜欢

转载自xuerge.iteye.com/blog/1929526
今日推荐