【问题标题】:App crashes when there is no internet [duplicate]没有互联网时应用程序崩溃[重复]
【发布时间】:2016-11-30 03:15:39
【问题描述】:

我的应用程序是一个 rss 提要,并在启动和刷新时检索数据,但在没有 Internet 连接时应用程序崩溃。如何检查 Internet 连接并在没有连接时显示 toast

【问题讨论】:

标签: android android-studio crash


【解决方案1】:

您可以使用此功能检查是否有互联网

public boolean isConnected() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    return netInfo != null && netInfo.isConnectedOrConnecting();
}

您还需要将此添加到清单文件中

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

然后检查一下

if(isConnected){
    //Connected to the internet
}
else{
    //Handle error and show toast
}

你可以在这里找到更详细的答案 How to check internet access on Android? InetAddress never times out

【讨论】:

    【解决方案2】:

    检查是否已连接到网络。

    private boolean isNetworkConnected() {
      ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    
      return cm.getActiveNetworkInfo() != null;
     }
    

    检查互联网是否可用

    public boolean isInternetAvailable() {
            try {
                InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
                return !ipAddr.equals("");
    
            } catch (Exception e) {
                return false;
            }
    
        }
    

    【讨论】:

    • 您缺少权限
    【解决方案3】:

    使用这个功能

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

    检查互联网是否连接

    if(isNetworkConnected){
    
    }
    

    并在您的清单文件中添加以下权限

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

    【讨论】:

      猜你喜欢
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多