Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理com.android.volley.NoConnectionError:java.net.UnknownHostException_Java_Android_Https_Unknown Host_Android Connectivitymanager - Fatal编程技术网

如何处理com.android.volley.NoConnectionError:java.net.UnknownHostException

如何处理com.android.volley.NoConnectionError:java.net.UnknownHostException,java,android,https,unknown-host,android-connectivitymanager,Java,Android,Https,Unknown Host,Android Connectivitymanager,在我的应用程序中,我使用截击进行网络呼叫,除了一种状态外,其他一切都很顺利,在这种状态下,我的设备无法获得网络连接,但通过代码检查连接使用下面的代码返回true public static boolean isNetworkAvailable() { ConnectivityManager connectivityManager = SessionApplication.getConnectivityManager(); if(connectivityManager.getNe

在我的应用程序中,我使用截击进行网络呼叫,除了一种状态外,其他一切都很顺利,在这种状态下,我的设备无法获得网络连接,但通过代码检查连接使用下面的代码返回true

public static boolean isNetworkAvailable() {

    ConnectivityManager connectivityManager = SessionApplication.getConnectivityManager();
    if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
            connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
        //we are connected to a network
        return true;
    }
    else
        return false;
}
与使用上述代码返回网络状态false不同,My volley web调用返回我此异常“handle com.android.volley.NoConnectionError:java.net.UnknownHostException”

我打开设备中的浏览器检查了internet连接,发现它也不工作。所以我对应用程序的行为没有意见,但我仍然需要处理这种情况,因为这对用户不友好,应该提示用户一个对话框“检查您的Internet连接!”

这应该是Android中的一个常见问题。请任何机构帮助我提供处理此类案件的最佳方法。提前谢谢


网络状态为:

尝试此方法可能会有所帮助

public boolean isConnectedToInternet(){
        connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
          if (connectivityManager != null){
              NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
              if (info != null){
                  for (int i = 0; i < info.length; i++){
                      if (info[i].getState() == NetworkInfo.State.CONNECTED){
                          return true;
                      }
                  } 
              }
          }
          return false;
    }
public boolean isconnectedpointernet(){
connectivityManager=(connectivityManager)context.getSystemService(context.CONNECTIVITY_服务);
if(connectivityManager!=null){
NetworkInfo[]info=connectivityManager.getAllNetworkInfo();
如果(信息!=null){
对于(int i=0;i
此异常表示连接存在问题。事实上,您可以显示一些关于连接的对话框。覆盖onErrorResponse(截击错误)您可以这样做-

public void onErrorResponse(VolleyError error) {
                        Log.d(TAG, error.toString());
                        if (error instanceof NoConnectionError)
                        new AlertDialog.Builder(this).setMessage(
                                "Unable to connect to the server! Please ensure your internet is working!").show();
                    }

我刚刚试过这个,但这也是真的。请参阅我附加的屏幕截图。@SureshSharma您的漫游是错误的。在漫游时尝试允许网络连接