我想用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
的请求。
答案 0 :(得分:0)
所以我发现对于GET
和POST
请求来说,解决方案几乎相同。
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
}
}
}