Android 网络连接工具类

    技术2022-07-13  68

     Android 网络连接工具类

    import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.telephony.TelephonyManager; import android.widget.Toast; /** * Created by zqh on 2020/7/1. */ public class NetworkUtils { /** * 获取网络连接状态是否可用 * * @param context * @return */ public static boolean isNetWorkAvailable(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if(activeNetworkInfo==null){ return false; }else if (activeNetworkInfo.isConnected()) { return activeNetworkInfo.isAvailable(); } else { return false; } } else { return false; } } return false; } /** * 获取网络是否已经连接 * * @param context * @return */ public static boolean isNetWorkConnected(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if(activeNetworkInfo==null){ return false; } return activeNetworkInfo.isConnected(); } else { return false; } } return false; } /** * 判断已连接的WIFI是否可用 * * @param context * @return */ public static boolean isWiFiAvailable(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo wiFiInfo = connectivityManager. getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(wiFiInfo==null){ return false; } boolean connected = wiFiInfo.isConnected(); if (connected) { return wiFiInfo.isAvailable(); } else { return false; } } else { return false; } } return false; } /** * 判断Wifi网络是否已经连接 * * @param context * @return */ public static boolean isWifiConnected(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo wiFiInfo = connectivityManager. getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(wiFiInfo==null){ return false; } return wiFiInfo.isConnected(); } else { return false; } } return false; } /** * 判断移动数据是否已经连接 * * @param context * @return */ public static boolean isMobileConnected(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo mobileInfo = connectivityManager. getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(mobileInfo==null){ return false; } return mobileInfo.isConnected(); } else { return false; } } return false; } /** * 判断移动数据是否可用 * * @param context * @return */ public static boolean isMobileAvailable(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo mobileInfo = connectivityManager. getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if(mobileInfo==null){ return false; } boolean connected = mobileInfo.isConnected(); if (connected) { return mobileInfo.isAvailable(); } else { return false; } } else { return false; } } return false; } /** * 获取连接的网络类型 * * @param context * @return */ public static Integer netType(Context context) { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if(activeNetworkInfo==null){ return -1; } if (activeNetworkInfo.isConnected()) { return activeNetworkInfo.getType(); } else { return -1; } } else { return -1; } } return -1; } /** * 获取当前 详细的连接网络类型 * * @param context * @return */ public static int getAPNType(Context context) { int netType = 0; ConnectivityManager connMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo == null) { return netType;//无网络连接 } int nType = networkInfo.getType(); if (nType == ConnectivityManager.TYPE_WIFI) { netType = 1;// wifi } else if (nType == ConnectivityManager.TYPE_MOBILE) { int nSubType = networkInfo.getSubtype(); TelephonyManager mTelephony = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); if (nSubType == TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming()) { netType = 2;// 2G } else { netType = 3;// 4G } } return netType; } }

     

    Processed: 0.008, SQL: 9