一起学android之如何获取网络类型并判断是否可用(20)
ConnectivityManager主要管理和网络连接相关的操作,通过getSystemService(Context.CONNECTIVITY_SERVICE)获
取网络连接的服务。因此我们可以通过ConnectivityManager这个类下的getActiveNetworkInfo()方法来获取当前的网络
连接状态,这个方法返回的是NetworkInfo对象, NetworkInfo描述了当前网络Mobile和Wifi的状态。NetworkInfo类中有
三个方法:(1)getType() 获取当前网络的类型,比如mobileor Wi-Fi。(2)getTypeName() 获取当前网络的类型
名,比如 “WIFI” or “MOBILE”。(3)isAvailable()方法用来判断当前网络连接是否可用,可用返回true,反之返回false。
关于如何查看当前网络的类型,请参看以下代码:
public String getNetworkStateName(Context context) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager .getActiveNetworkInfo(); if(mNetworkInfo.isAvailable()){ //获取网络类型 int netWorkType =mNetworkInfo.getType(); if(netWorkType==ConnectivityManager.TYPE_WIFI){ return "当前网络是WIFI"; }else if(netWorkType==ConnectivityManager.TYPE_MOBILE){ return "当前网络是3G"; }else{ return "其它方式"; } }else{ return "当前无网络"; } }
最后在AndroidMainfest文件中添加访问权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44057903 情绪控_
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。