protected boolean isConnectInternet()
    {
        ConnectivityManager mConnectivity=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        TelephonyManager mTelephony=(TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
        //检查网路连接,如果无网络可用,就不需要进行联网操作
        NetworkInfo info=mConnectivity.getActiveNetworkInfo();
        if(info==null || !mConnectivity.getBackgroundDataSetting())
        {
            return false;
        }
        
        //判断网路连接类型,只有在3G或wifi里进行数据更新
        int netType=info.getType();
        int netSubType=info.getSubtype();
        
        if(netType==ConnectivityManager.TYPE_WIFI)
        {
            return info.isConnected();
        }else if(netType==ConnectivityManager.TYPE_MOBILE
                && netSubType==TelephonyManager.NETWORK_TYPE_UMTS
                && !mTelephony.isNetworkRoaming())
        {
            return info.isConnected();
        }else {
            return false;
        }
    }

 

/**
     * 判断网络状态是否可用
     *
     * @return true: 网络可用 ; false: 网络不可用
     */
    public boolean isConnectInternet() {

        ConnectivityManager conManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = conManager.getActiveNetworkInfo();
        if (networkInfo != null) { // 注意,这个判断一定要的哦,要不然会出错
            return networkInfo.isAvailable();
        }
        return false;
    }

 

在 AndroidManifest.xml 中加上 检查网络的权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

 

/**
* 获取网络类型
*
* NETWORK_TYPE_CDMA 网络类型为CDMA
* NETWORK_TYPE_EDGE 网络类型为EDGE
* NETWORK_TYPE_EVDO_0 网络类型为EVDO0
* NETWORK_TYPE_EVDO_A 网络类型为EVDOA
* NETWORK_TYPE_GPRS 网络类型为GPRS
* NETWORK_TYPE_HSDPA 网络类型为HSDPA
* NETWORK_TYPE_HSPA 网络类型为HSPA
* NETWORK_TYPE_HSUPA 网络类型为HSUPA
* NETWORK_TYPE_UMTS 网络类型为UMTS
*
* 在中国,联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EGDE,电信的2G为CDMA,电信的3G为EVDO
*/

相关文章:

  • 2022-12-23
  • 2021-10-15
  • 2021-09-03
  • 2022-02-11
  • 2020-06-05
  • 2021-11-01
  • 2022-02-27
  • 2021-09-05
猜你喜欢
  • 2022-12-23
  • 2021-05-29
  • 2021-09-12
  • 2022-01-21
  • 2021-12-03
  • 2021-12-23
相关资源
相似解决方案