1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package me.yoqi.android.utils;
- import android.app.Service;
- import android.content.Context;
- import android.net.ConnectivityManager;
- import android.net.NetworkCapabilities;
- import android.net.NetworkInfo;
- import android.os.Build;
- import android.util.Log;
- /**
- * 网络检测工具类
- *
- * @author liuyuqi.gov@msn.cn
- * @createTime 2020-08-18
- */
- public class NetUtils {
- //检测网络是否可用,wifi or gps
- /**
- * 判断 WiFi 连接
- */
- public static boolean isWifiConnected(Context context) {
- if (context == null) return false;
- ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Service.CONNECTIVITY_SERVICE);
- if (connectivityManager != null) {
- if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
- if (capabilities != null) {
- if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
- return true;
- }
- }
- } else {
- try {
- NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
- if (activeNetworkInfo != null && activeNetworkInfo.isConnected() && activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
- Log.i("update_statut", "Network is available : true");
- return true;
- }
- } catch (Exception e) {
- Log.i("update_statut", "" + e.getMessage());
- }
- }
- }
- return false;
- }
- /**
- * 检测网络是否链接
- *
- * @param context 上下文
- * @return
- */
- public static boolean isNetworkAvailable(Context context) {
- if (context == null) return false;
- ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if (connectivityManager != null) {
- if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(connectivityManager.getActiveNetwork());
- if (capabilities != null) {
- if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) {
- return true;
- } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
- return true;
- } else if (capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) {
- return true;
- }
- }
- } else {
- try {
- NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
- if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
- Log.i("update_statut", "Network is available : true");
- return true;
- }
- } catch (Exception e) {
- Log.i("update_statut", "" + e.getMessage());
- }
- }
- }
- Log.i("update_statut", "Network is available : FALSE ");
- return false;
- }
- }
|