Android 编译sdk版本为29时,NetworkInfo 过时了,去Android官网查到以下结果

 

版本29以前的写法如下:

public static boolean networkConnected(Context context) {        if (context != null) {            ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo mWiFiNetworkInfo = mConnectivityManager.getActiveNetworkInfo();            if (mWiFiNetworkInfo != null) {                if (mWiFiNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {//WIFI                    return true;                } else if (mWiFiNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {//移动数据                    return true;                }            }        }        return false;    }

如果使用编译版本29及以上的话请改成如下:

public static boolean networkConnected(Context context) {        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        if (context != null) {            if(Build.VERSION.SDK_INT<23){                NetworkInfo mWiFiNetworkInfo = cm.getActiveNetworkInfo();                if (mWiFiNetworkInfo != null) {                    if (mWiFiNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {//WIFI                        return true;                    } else if (mWiFiNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {//移动数据                        return true;                    }                }            }else{                Network network =cm.getActiveNetwork();                if(network!=null){                    NetworkCapabilities nc=cm.getNetworkCapabilities(network);                    if(nc!=null){                        if(nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){//WIFI                            return true;                        }else if(nc.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){//移动数据                            return true;                        }                    }                }            }        }        return false;    }

主要是做了版本判断,然后为什么是23呢, 因为getActiveNetwork 这个方法最低使用api是23,以上。

 

更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. python起点网月票榜字体反爬案例
  3. Android(安卓)中数据库查询方法 query() 中的 select
  4. Android(安卓)数据绑定视图 dataBinding
  5. Android(安卓)关于获取摄像头帧数据
  6. ionic android升级错误 exposed beyond app through Intent.getD
  7. [置顶] android orm映射框架(类似hibernate)基本使用
  8. Android中使用Gson解析JSON数据
  9. Android(安卓)设置没有 actionBar的 样式

随机推荐

  1. Golang笔记之基本组成元素
  2. 作业2-html注册页面和课程表
  3. 初识初学表单
  4. 前后端Date类型装换
  5. 图片上传
  6. 我的第一款 Drone 插件
  7. “Affinity Publisher”让排版更简单,轻松
  8. Golang笔记之基本数据类型
  9. 索刻科技IBP整合经营规划
  10. nginx2_调度