zoukankan      html  css  js  c++  java
  • 网络连接判断networkutils

    public class NetWorkUtils {
    Context mcontext;
    public NetWorkUtils(Context mcontext){
    this.mcontext = mcontext;
    }

    public int netWorkType(){
    ConnectivityManager mConnectivity = (ConnectivityManager)mcontext.getSystemService(Context.CONNECTIVITY_SERVICE);
    TelephonyManager mTelephony = (TelephonyManager)mcontext.getSystemService(Context.TELEPHONY_SERVICE);
    //检查网络连接
    NetworkInfo info = mConnectivity.getActiveNetworkInfo();

    if (info == null || !mConnectivity.getBackgroundDataSetting()) {
    Log.i("TAG","网络未连接.....");
    return 3;
    }

    int netType = info.getType();
    int netSubtype = info.getSubtype();
    Log.i("TAG",netType+",,"+netSubtype+",,"+mTelephony.isNetworkRoaming());
    if (netType == ConnectivityManager.TYPE_WIFI) { //WIFI
    Log.i("TAG","wifi连接.....");
    return 1;
    } else if (netType == ConnectivityManager.TYPE_MOBILE && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming()) { //MOBILE
    Log.i("TAG","移动数据连接.....");
    return 2;
    }
    return 3;
    }
    }

    另一个类需要用到它时,如下写的:

    NetWorkUtils netUtils = new NetWorkUtils(getApplicationContext());
    int i = netUtils.netWorkType();//获得当前网络状态类型
    if(i == 1){
    //请求数据,并保存
    Log.i("TAG", "开始离线下载......");


    }else if(i == 2){
    Log.i("TAG", "提示是移动数据,是否继续下载......");
    }else{
    Log.i("TAG", "没网,不需要下载......");
    }

  • 相关阅读:
    React 之使用 fetch
    react-native 环境搭建
    create-react-app 配置 less
    React新的前端思维方式
    字体图标 —— IconMoon
    你不知道的javascript 之 >>
    前端的自我修养
    jquery 学习
    html的meta总结
    git基本操作 nginx基本操作
  • 原文地址:https://www.cnblogs.com/zhengyanyan/p/5338654.html
Copyright © 2011-2022 走看看