- public class NetWorkHelper {
- private static String LOG_TAG = "NetWorkHelper";
- public static Uri uri = Uri.parse("content://telephony/carriers");
- /**
- * 判断是否有网络连接
- */
- 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;
- }
- public static boolean checkNetState(Context context){
- boolean netstate = false;
- ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if(connectivity != null)
- {
- NetworkInfo[] info = connectivity.getAllNetworkInfo();
- if (info != null) {
- for (int i = 0; i < info.length; i++)
- {
- if (info[i].getState() == NetworkInfo.State.CONNECTED)
- {
- netstate = true;
- break;
- }
- }
- }
- }
- return netstate;
- }
- /**
- * 判断网络是否为漫游
- */
- 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;
- }
- /**
- * 判断MOBILE网络是否可用
- *
- * @param context
- * @return
- * @throws Exception
- */
- 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;
- }
- /**
- * 判断wifi 是否可用
- * @param context
- * @return
- * @throws Exception
- */
- 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;
- }
- /**
- * 设置Mobile网络开关
- *
- * @param context
- * @param enabled
- * @throws Exception
- */
- 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 });
- }
- }
- }
- }
来源: http://www.phpxs.com/code/1002762/