在AsyncTask中获取HTTP响应代码Android需要很长时间

时间:2014-07-18 10:18:27

标签: android http webview android-asynctask httpresponse

我开发基于WebView的Android应用程序,我需要检查我想要加载的web的http状态代码是否<在我显示页面之前400(如果有错误)。

Web View code:
   @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);

                    GetHTTPStatus task = new GetHTTPStatus(thisActivity);
                    task.execute(url);
                    httpError = false;

            }

获取状态代码的代码:

 // Below code is parto of:static class GetHTTPStatus extends AsyncTask<String, Void, Integer> {

                HttpClient httpClient;
                HttpParams params1 = new BasicHttpParams();
                params1.setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
                httpClient = new DefaultHttpClient(params1);
                HttpPost post = new HttpPost(RequestedURL);
                HttpResponse response = httpClient.execute(post);
                int code = response.getStatusLine().getStatusCode();
                listener.OnHTTPRespone(code);

然后我通过实现我的界面和覆盖来启动正确的操作(在这种情况下显示带有正确消息的Dialog):

 @Override
    public int OnHTTPRespone(int httpMessage) {
// if httpMessage > 400 display message code
}

问题是网页视图显示的错误网址比我的对话框快。 换句话说,检查响应代码是为了减慢我需要加快一点。 我知道在OnHTTPRespone上升之前我无法显示我的网页视图,但整个应用程序变得不是非常用户友好。

0 个答案:

没有答案