package com.zj.zjdsp.core.utils; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; public class NetworkTypeUtil { public static final int NETWORN_2G = 2; public static final int NETWORN_3G = 2; public static final int NETWORN_4G = 2; public static final int NETWORN_5G = 2; public static final int NETWORN_MOBILE = 2; public static final int NETWORN_NONE = 0; public static final int NETWORN_WIFI = 1; public static int getNetworkState(Context context) { NetworkInfo activeNetworkInfo; NetworkInfo.State state; ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity"); if (!(connectivityManager == null || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null || !activeNetworkInfo.isAvailable())) { NetworkInfo networkInfo = connectivityManager.getNetworkInfo(1); if (networkInfo != null && (state = networkInfo.getState()) != null && (state == NetworkInfo.State.CONNECTED || state == NetworkInfo.State.CONNECTING)) { return 1; } NetworkInfo networkInfo2 = connectivityManager.getNetworkInfo(0); if (networkInfo2 != null) { NetworkInfo.State state2 = networkInfo2.getState(); String subtypeName = networkInfo2.getSubtypeName(); if (state2 != null && (state2 == NetworkInfo.State.CONNECTED || state2 == NetworkInfo.State.CONNECTING)) { switch (activeNetworkInfo.getSubtype()) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 18: case 20: break; case 17: case 19: default: if (!subtypeName.equalsIgnoreCase("TD-SCDMA") && !subtypeName.equalsIgnoreCase("WCDMA")) { subtypeName.equalsIgnoreCase("CDMA2000"); break; } } return 2; } } } return 0; } }