package com.anthony.library.utils; import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import retrofit2.adapter.rxjava.HttpException; public class NetworkUtil { /** * Returns true if the Throwable is an instance of RetrofitError with an * http status code equals to the given one. */ public static boolean isHttpStatusCode(Throwable throwable, int statusCode) { return throwable instanceof HttpException && ((HttpException) throwable).code() == statusCode; } public static boolean isNetworkConnected(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); return activeNetwork != null && activeNetwork.isConnectedOrConnecting(); } /** * 判断是否是wifi连接 */ public static boolean isWifi(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (null == cm) { return false; } NetworkInfo info = cm.getActiveNetworkInfo(); if (null != info) { if (info.getType() == ConnectivityManager.TYPE_WIFI) { return true; } } return false; } /** * 打开网络设置界面 */ public static void openSetting(Activity activity, int requestCode) { Intent intent = new Intent("/"); ComponentName cm = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings"); intent.setComponent(cm); intent.setAction(Intent.ACTION_VIEW); activity.startActivityForResult(intent, requestCode); } }