Android Network judgment tool (APN + WIFI) and androidapn
Public class NetWorkHelper {private static String LOG_TAG = "NetWorkHelper"; public static Uri uri = Uri. parse ("content: // telephony/carriers");/*** determine whether a network connection exists */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 m Anager ");} 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;}/*** determines whether the network is roaming */public static boolean isNetworkRoaming (Context context) {ConnectivityManager connectivity = (ConnectivityManager) context. getSystemService (Context. CONNECTIVITY_SERVICE); if (connectivity = null) {Log. w (LOG_TAG, "couldn't get connectivit Y 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 ;} /*** determine whether the MOBILE network is available ** @ param context * @ return * @ throws Exception */public static boolean isMobileDataEnable (Context context) throws Exception {ConnectivityManager connectivityManager = (Connectivi TyManager) context. getSystemService (Context. CONNECTIVITY_SERVICE); boolean isMobileDataEnable = false; isMobileDataEnable = connectivityManager. getNetworkInfo (ConnectivityManager. TYPE_MOBILE ). isConnectedOrConnecting (); return isMobileDataEnable;}/*** determines whether wifi is available * @ param context * @ return * @ throws Exception */public static boolean isWifiDataEnable (Context context) throws Exception {ConnectivityMana Ger connectivityManager = (ConnectivityManager) context. getSystemService (Context. CONNECTIVITY_SERVICE); boolean isWifiDataEnable = false; isWifiDataEnable = connectivityManager. getNetworkInfo (ConnectivityManager. TYPE_WIFI ). isConnectedOrConnecting (); return isWifiDataEnable;}/*** set the Mobile network switch ** @ param context * @ param enabled * @ throws Exception */public static void setMobileDataEnabled (Context con Text, 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 });}}}}