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", "没网,不需要下载......");
    }

  • 相关阅读:
    消息队列技术
    NET Core中使用Apworks
    TCP基础
    Oracle停止一个JOB
    如何在Java 8中愉快地处理日期和时间
    mysql字符串区分大小写的问题
    【已解决】javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
    spring boot 1.4默认使用 hibernate validator
    mysql shell
    android:background="@drawable/home_tab_bg"
  • 原文地址:https://www.cnblogs.com/zhengyanyan/p/5338654.html
Copyright © 2011-2022 走看看