参考博主:http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html
1、首先要添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
2、
/**判断有没有连接网络*/ public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } /**判断wifi是否可用*/ public boolean isWifiConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWiFiNetworkInfo = mConnectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI);//可判断其他类型 if (mWiFiNetworkInfo != null) { return mWiFiNetworkInfo.isAvailable(); } } return false; } /**获取当前网络连接的类型 * 0:移动网络 * 1:wifi *-1:无网络*/ public static int getConnectedType(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { return mNetworkInfo.getType(); } } return -1; }
/**如果项目中需要wifi才支持下载,那么调用手机系统去设置 * 一般以对话框的形式提示非wifi状态并调开wifi设置*/ private void setWifiNetwork(){ Intent intent; /** * 判断手机系统的版本!如果API大于10 就是3.0+ * 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同 */ if (android.os.Build.VERSION.SDK_INT > 10) { intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS); } else { intent = new Intent(); ComponentName component = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings"); intent.setComponent(component); intent.setAction("android.intent.action.VIEW"); } startActivity(intent); }
/**wifi状态才下载操作*/ private void isNetworkAvailable(Context context){ if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo.State gprs = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); NetworkInfo.State wifi = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); if(gprs == NetworkInfo.State.CONNECTED || gprs == NetworkInfo.State.CONNECTING){ Toast.makeText(this, "the network is GPRS", Toast.LENGTH_SHORT).show(); } //判断是wifi才播放视频 if(wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING){ Toast.makeText(this, "the network is WIFI", Toast.LENGTH_SHORT).show(); } } }