【问题标题】:Getting callback data from WebView Android从 WebView Android 获取回调数据
【发布时间】:2019-05-13 19:43:19
【问题描述】:

我正在使用 webview 提交表单并重定向。当表单提交成功时,它将向控制台打印一个 json 响应。

我的问题是如何从客户端获取 jsonData 字符串?

chromium: [INFO:CONSOLE(1)] "Callback..jsonData, etc"

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // Insert your code here

                return true;
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
            }
        });

【问题讨论】:

    标签: android webview chromium


    【解决方案1】:

    您可以扩展 WebViewClient 类并创建一个方法来拦截通过单击 WebView 中 HTML 中的表单发布按钮发出的 POST 请求。然后,在代码中发出 HTTP POST 请求,而不是在 WebView 中,并按照您的意愿解析结果,然后在最后以您希望的任何方式刷新 WebView。这里有一个这样做的例子:

    https://github.com/KeejOow/android-post-webview/blob/master/PostWebview/postwebview/src/main/java/com/solidsoftware/postwebview/InterceptingWebViewClient.java

    【讨论】:

    • 注意,在我上面链接的示例中,他们对 shouldOverrideUrlLoading 方法的实现仅对低于 24 的 Android SDK 级别有效。您可能希望同时实现旧版本和新版本使用 WebResourceRequest 请求而不是 String url 作为第二个参数。
    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    相关资源
    最近更新 更多