Android——网络连接状态管理ConnectivityManager
16lz
2021-01-26
关键类
ConnectivityManager是网络连接的管理器,当我们需要知道当前网络的状态时,就需要通过它来获得网络信息对象NetworkInfo,这个对象中包含了网络连接的信息,包括:是否有网,网络类型等信息。
NetworkInfo的获取
ConnectivityManager connManager = (ConnectivityManager)mContext.getSystemService(Context.CONNCTIVITY_SERVICE)NetworkInfo mNetworkInfor = connManager.getActiveNetworkInfo();
检查网络是否可用
这主要检查的是网络是否可用。
那么什么叫不可用呢?
就是说在一些情况下,设备被阻止连接到网络。
这些情况包括:
- 当地区域不支持当前网络类型;
- 开启飞行模式;
- 设备连接到了一个不同的家庭网络上,导致数据漫游不可进行。
这应该是包括了显示为连接,但实际网络不可用的情况,即这种情况下会返回true。
mNetworkInfo.isAvailable();
检查网络是否连通
这个方法实际检查的就是网络是否可以进行数据传递,它的准确率应该是比上一种方法要高的。
mNetworkInfo.isConnected();
检查是移动网还是WIFI
if(mNetworkInfo.getType()==ConnectivityManager.TYPE_WIFI){ //判断WIFI网}else if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) { //判断移动网}
更多相关文章
- 网络请求测试之HttpUrlConnection【Android】
- Android(安卓)Mqtt重连的一个小问题
- Android(安卓)Studio连接不上模拟器的解决方法
- 利用Android自带的http包进行网络请求
- Android(安卓)几种网络请求。
- Android(安卓)Lint gradle错误处理
- Android(安卓)Retrofit网络请求Service,@Path、@Query、@QueryMap
- Ubuntuecplise中连接Android真机…
- android 网络连接 大体走向