获取手机的网络连接状态——暂时实现区分wifi和流量的
2014-09-30 16:56
281 查看
知道现在手机是否可以联网和获取手机现在是用什么链接网络的,现在能区分的是比较主流的wifi和手机流量(不管2G或者3G)。代码看下边,注释很清楚了。
/** * 网络状态检测工具类,需要权限 <uses-permission * android:name="android.permission.ACCESS_NETWORK_STATE"/> * * @author luckchoudog */ public class NetConnectUtils { /** * 判断网络连接状态 * * @param context * 上下文 * @return true表示有网络链接,false表示没有网络连接 */ public static 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状态 * * @param context * 上下文 * @return true表示wifi处于开启状态,false表示wifi处于关闭状态 */ public static boolean isWifiConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); State state = mConnectivityManager.getNetworkInfo( ConnectivityManager.TYPE_WIFI).getState(); // 获取网络连接状态 if (State.CONNECTED == state) { // 判断是否正在使用WIFI网络 return true; } } return false; } /** * 判断移动网络 * * @param context * 上下文 * @return true表示已经开启移动网络,false表示没有开启移动网络连接 */ public static boolean isMobileConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); State statestate = mConnectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE).getState(); // 获取网络连接状态 if (State.CONNECTED == statestate) { // 判断是否正在使用GPRS网络3G网络 return true; } } return false; } }其中需要注意的一点,如果wife和GPRS同时处于打开状态,则此时获取的移动网络状态为false(即手机会首先采用wifi的流量),自己在做工程的时候自己先做什么判断自己想把,这里就不多说了
相关文章推荐
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- 获取和改变Android手机网络状态的代码实现
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android端如何获取手机当前的网络状态,比如wifi还是3G, 还是2G, 电信还是联通,还是移动
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
- ios获取当前的网络状态, 获取当前连接的wifi名字
- Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面