Android判断网络连接状态
判断网络是否连接
public boolean isWebConnect(){ ConnectivityManager manager = (ConnectivityManager) CopenhagenAPP.getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = manager.getActiveNetworkInfo(); if (networkInfo != null) { return networkInfo.isConnected(); } return false; }
判断WIFI网络是否连接
public boolean isWifiConnect() { ConnectivityManager manager = (ConnectivityManager) CopenhagenAPP.getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiInfo != null) { return wifiInfo.isConnected(); } return false; }
判断手机网络是否连接
public boolean isMobileConnect() { ConnectivityManager manager = (ConnectivityManager) CopenhagenAPP.getContext().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobileInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mobileInfo != null) { return mobileInfo.isConnected(); } return false; }
注意:
1.此处手机网络连接判断并没有区分2G/3G/4G,有网络都视为有连接
2.经测试只要有WIFI和手机网络连接只要有一个为true,则网络连接都为true。且WIFI和手机网络连接互补,即WIFI为true,则手机网络为FALSE;WIFI为False,则手机网络为true。
3.注意最后使用的是 isConnected(),不是有些文章中写的 isAvailable(),实测即使关闭网络,isAvailable() 返回值依然为true。