欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

android 网络判断工具类(APN+WIFI),androidapn, public c

来源: javaer 分享于  点击 48927 次 点评:43

android 网络判断工具类(APN+WIFI),androidapn, public c


    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                          &amp;&amp; info.getType() == ConnectivityManager.TYPE_MOBILE) {                      TelephonyManager tm = (TelephonyManager) context                              .getSystemService(Context.TELEPHONY_SERVICE);                      if (tm != null &amp;&amp; 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 });                  }              }          }      }  
相关栏目:

用户点评