Java tutorial
//package com.java2s; //License from project: Apache License import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.text.TextUtils; import java.lang.reflect.Method; public class Main { public static boolean isWapNet(Context context) { ConnectivityManager conManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = conManager.getActiveNetworkInfo(); if (info != null && info.isAvailable()) { if (info.getType() == 1) { return false; } else { String currentAPN = info.getExtraInfo(); return !TextUtils.isEmpty(currentAPN) && (currentAPN.equals("cmwap") || currentAPN.equals("uniwap") || currentAPN.equals("3gwap")); } } else { return false; } } public static boolean isAvailable(Context context) { return isWifiAvailable(context) || isMobileAvailable(context) && isMobileEnabled(context); } public static boolean isWifiAvailable(Context context) { NetworkInfo[] nets = getConnManager(context).getAllNetworkInfo(); if (nets != null) { NetworkInfo[] networkInfos = nets; int length = nets.length; for (int i = 0; i < length; ++i) { NetworkInfo net = networkInfos[i]; if (net.getType() == 1) { return net.isAvailable(); } } } return false; } public static boolean isMobileAvailable(Context context) { NetworkInfo[] nets = getConnManager(context).getAllNetworkInfo(); if (nets != null) { NetworkInfo[] networkInfos = nets; int length = nets.length; for (int i = 0; i < length; ++i) { NetworkInfo net = networkInfos[i]; if (net.getType() == 0) { return net.isAvailable(); } } } return false; } public static boolean isMobileEnabled(Context context) { try { Method e = ConnectivityManager.class.getDeclaredMethod("getMobileDataEnabled", new Class[0]); e.setAccessible(true); return ((Boolean) e.invoke(getConnManager(context), new Object[0])).booleanValue(); } catch (Exception var2) { var2.printStackTrace(); return true; } } public static ConnectivityManager getConnManager(Context context) { return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); } }