
对Android Q 上检查网络连通性的相关记录
前言
大多数情况下,我们从ConnectivityManager获取活动的网络信息,并检查该网络是否已经连接
像这样
1 | fun isNetworkConnected(context: Context?): Boolean { |
但是在Android Q (API 29) 上,从ConnectivityManager类里废弃了activeNetworkInfo方法(Java对应getActiveNetworkInfo()方法)。
Android Q
查询相关文档,可以找到另一种方法
1 | fun isNetworkConnectedWithQ(context: Context?): Boolean { |
注意:以上代码中allNetworks、getNetworkCapabilities和hasCapability都是在API 21 (Lollipop)被添加的,也就是说最低版本需要21。对此,这里为了兼容到21版本以下,可以将两种方式合并到一个方法中,同时兼容。
同时兼容
1 | fun isNetworkConnected(context: Context?): Boolean { |
最后,不要忘记在清单文件添加网络权限
1 |
|
以上就是针对Android Q上网络检查方式的一个简单的记录,如有不足,欢迎指正