从WebView请求具有会话的HTTP请求

时间:2013-11-18 14:23:03

标签: javascript android session webview

我使用Webview将我的网站移植到Android。在我的Android应用中,有一个指示器显示购物车中的商品数量。在Javascript中,我调用一个名为refreshShoppingBadge的函数,它请求一个AJAX请求来更新数字。所以我为Webview编写Javascript接口,如下所示:

@JavascriptInterface
public void refreshShoppingBadge(final String pUrl) {
    if (pUrl == null) {
        return;
    }

    final DefaultHttpClient request = new DefaultHttpClient();
    try {
        final HttpResponse response = request.execute(new HttpGet(
                this.rootContext + pUrl));

        if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            final ByteArrayOutputStream out = new ByteArrayOutputStream();
            response.getEntity().writeTo(out);
            out.close();

            Utils.changeTabIndicator(this.tabCartIndex,
                    String.format(this.tabCartContent, out.toString()));
        } else {
            Utils.alertNetworkProblem(this.context);
        }
    } catch (ClientProtocolException e) {
        e.printStackTrace();
        Log.e("Shopping", e.getMessage());
    } catch (IOException e) {
        e.printStackTrace();
        Log.e("Shopping", e.getMessage());
    }
}

但是,结果始终为0,因为HttpClient使用新会话发送请求,因此购物车中没有任何内容。

我可以“仅从webview获取结果”,还是以某种方式获取其会话请求?

0 个答案:

没有答案