网络判断工具类

原创 2016年06月01日 21:07:17

使用网络判断工具类在请求数据前,进行判断网络,如果网络状态OK,继续执行,反之给予合理提示


  • 工具类代码
package org.easycoding.mobile.android.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetStateUtils {

    /**
     * 判断网络连接状态
     * 
     * @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);
            NetworkInfo mWiFiNetworkInfo = mConnectivityManager
                    .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if (mWiFiNetworkInfo != null) {
                return mWiFiNetworkInfo.isAvailable();
            }
        }
        return false;
    }

    /**
     * 判断移动网络
     * 
     * @param context
     * @return true:是移动网络情况, false:非移动网络情况
     */
    public static boolean isMobileConnected(Context context) {
        if (context != null) {
            ConnectivityManager mConnectivityManager = (ConnectivityManager) context
                    .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo mMobileNetworkInfo = mConnectivityManager
                    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (mMobileNetworkInfo != null) {
                return mMobileNetworkInfo.isAvailable();
            }
        }
        return false;
    }

    /**
     * 获取连接类型
     * 
     * @param context
     * @return
     */
    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;
    }
}

  • 在activity中调用
 //使用工具类对象调用判断网络连接的方法,网络可用返回true,不可用返回false
        boolean networkConnected = NetStateUtils.isNetworkConnected(MainActivity.this);
        if(networkConnected)
        {
             //请求网络
            getNetWork(url);
        }
        else
        {
            Toast.makeText(MainActivity.this,"网络不可用,请检测网络",0).show();
        }
版权声明:本文为博主原创文章,未经博主允许不得转载。

判断网络状态的工具类

  • 2015年10月09日 14:44
  • 3KB
  • 下载

Android:判断用户网络状态的Kotlin工具类

Android:判断用户网络状态的Kotlin工具类标签(空格分隔): android 转载:Android 判断用户2G/3G/4G移动数据网络通过 Android 提供的 TelephonyMa...

Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码

参考:http://www.jb51.net/article/32920.htm 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 代码...

常用工具类:网络状态判断NetStateUtil()

常用工具类:网络状态判断NetStateUtil()

Android 判断 网络连接 Internet访问 工具类

出处 博客地址 http://blog.csdn.net/never_cxb 前言 App判断用户是否联网是很普遍的需求,实现思路大概有下面几种 利用Androi...

Android 判断 网络连接 Internet访问 工具类

前言App判断用户是否联网是很普遍的需求,实现思路大概有下面几种 - 利用Android自带的ConnectivityManager类 - 有时候连上了wifi,但这个wifi是上不了网的,我们可...

判断网络状态工具类

import android.annotation.TargetApi; import android.content.Context; import android.net.Connectivity...

网络状态判断工具类

public class NetworkUtil { /** * 检测当的网络(WLAN、3G/2G)状态 * * @param context Context ...

android 网络判断工具类(APN+WIFI)

public class NetWorkHelper { private static String LOG_TAG = "NetWorkHelper"; public static Uri ...

一个判断网络类型的工具类(wifi 2g 3g 4g)

package com.example.test; import android.content.Context; import android.net.ConnectivityManager; i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网络判断工具类
举报原因:
原因补充:

(最多只允许输入30个字)