Java 显示WebService URL连接超时的警报消息

Java 显示WebService URL连接超时的警报消息,java,android,web-services,android-layout,android-intent,Java,Android,Web Services,Android Layout,Android Intent,我正在调用webservice url,并在Andriod中成功获得响应 这是我的代码: protected String doInBackground(String... params) { HttpResponse response = null; // TODO Auto-generated method stub // String url=params[0]; try { final HttpParams httpParams = new Ba

我正在调用webservice url,并在Andriod中成功获得响应

这是我的代码:

protected String doInBackground(String... params) {
    HttpResponse response = null;
    // TODO Auto-generated method stub
    // String url=params[0];
    try {

    final HttpParams httpParams = new BasicHttpParams();
    HttpClient httpclient = new DefaultHttpClient(httpParams);

    HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
    int timeoutSocket = 60*1000;
    HttpConnectionParams.setSoTimeout(httpParams, timeoutSocket);

    HttpGet request = new HttpGet("WebServiceURL");
        response = httpclient.execute(request);

    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Log.d("Exaception1>>>","Exaception1>>");        


    } catch (IOException e) {
        // TODO Auto-generated catch block
        Log.d("Exaception2>>>","Exaception1>>");

        e.printStackTrace();
    }
    statusLine = response.getStatusLine();
    if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        try {
            response.getEntity().writeTo(out);
            out.close();
            responseString = out.toString();
            // Whatever you wanna do with the response
            // Log.d("response", responseString);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.d("Exaception3>>>","Exaception1>>");

            e.printStackTrace();

        }

    } else {
        // Close the connection.
        try {
            response.getEntity().getContent().close();
            throw new IOException(statusLine.getReasonPhrase());

        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
    return responseString;
}

但有时WebService URL不会处于活动状态,我的要求是向用户显示连接超时的警报消息,有人能帮忙吗?

您可以在doInBackground中捕获ConnectTimeoutException(),以便在异步任务的onPostExecute()中显示警报创建一个具有成功等方法的接口,错误和超时。 将ConnectTimeoutException捕获到异步任务中并调用接口的超时方法。
在asyncTask postexecute()或执行异步任务的位置处理此超时方法。

doInBackground
中捕获
ConnectTimeOutException
,并处理其错误

catch (ConnectTimeoutException e) {
            // handle exception
        }

当您的响应不为空时显示警报对话框。。。