public class NetworkUtils { /** * 判断网络是否连接 * * @return true有网络连接 false无网络连接 */ public static boolean isConnected(Context context) { return isNetworkConnected(context); } private static boolean isNetworkConnected(Context context) { try { if (context != null) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork()); if (networkCapabilities != null) { boolean isWifi = networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI); boolean isCellular = networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR); boolean isEthernet = networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET); LogUtil.logD("NetworkUtils", "wifi: " + isWifi); LogUtil.logD("NetworkUtils", "Cellular: " + isCellular); LogUtil.logD("NetworkUtils", "Ethernet: " + isEthernet); return isWifi || isCellular || isEthernet; } } } return false; } catch (Exception e) { LogUtil.logD("NetworkUtils", "error: " + e.getMessage()); return false; } } }
如果isConnected方法返回true,则表示此时设备有网络。