在Webview中打开外部链接

时间:2018-09-17 00:43:15

标签: android android-studio webview android-webview

我想用webview数据打开一个POST。所以我正在这样做:

webView = (WebView) findViewById(R.id.dashboard);
String url = "http://www.example.test";
String postData = "json=" + JSON;
webView.postUrl(url, postData.getBytes());

因此,当我启动此webview时,单击链接可打开设备的默认浏览器,是否有任何方法可以坚持使用webview来打开链接?
我进行了研究,但所有这些请求都是针对GET的请求。

2 个答案:

答案 0 :(得分:0)

所以我发现对于GETPOST请求来说,解决方案几乎相同。

    webView = (WebView) findViewById(R.id.dashboard);

    String url = "http://www.example.test";
    String postData = "json=" + JSON;

    webView.postUrl(url,postData.getBytes());

    webView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
            viewx.loadUrl(urlx);
            return false;
        }
    });

答案 1 :(得分:0)

以下是在 Kotlin 中的操作方法:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            myWebView.webViewClient = object : WebViewClient() {
                override fun shouldOverrideUrlLoading(
                    view: WebView,
                    request: WebResourceRequest
                ): Boolean {
                    view.loadUrl(request.url.toString())
                    return false
                }
            }
        } else {
            myWebView.webViewClient = object : WebViewClient() {
                override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
                    view?.loadUrl(url.toString())
                    return false
                }
            }
        }