【问题标题】:Check internet connection with 3G and Wifi in Android在 Android 中使用 3G 和 Wifi 检查互联网连接
【发布时间】:2014-08-08 15:21:36
【问题描述】:

有时,我必须在我的安卓应用中检查互联网连接:

private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null;
}

上面的代码只有在Network 可用时才有效!但是,我的设备有wifi3G,当我同时使用上述两种网络连接时,上面的代码总是返回false! (当它返回false时,我仍然可以使用google.com)!!我错过了什么?谢谢!

【问题讨论】:

  • 谢谢大家,明天我去看看!!感谢您回复我!

标签: android networking


【解决方案1】:

试试这个

private boolean haveNetworkConnection() 
{
    boolean haveConnectedWifi = false;
    boolean haveConnectedMobile = false;

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] netInfo = cm.getAllNetworkInfo();
    for (NetworkInfo ni : netInfo) 
    {
        if (ni.getTypeName().equalsIgnoreCase("WIFI"))
            if (ni.isConnected())
                haveConnectedWifi = true;
        if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
            if (ni.isConnected())
                haveConnectedMobile = true;
    }
    return haveConnectedWifi || haveConnectedMobile;
}

【讨论】:

    【解决方案2】:

    这段代码呢?

            ConnectivityManager connectivityManager = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
    
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    
        // Check the current state of the Network Information
        if (networkInfo == null)
            return false;
        if (networkInfo.isConnected() == false)
            return false;
        if (networkInfo.isAvailable() == false)
            return false;
        return true;
    

    记得在你的应用清单文件中添加这个:

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-02
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多