如果我将 A.com 加载到new WebView(no history)
中,并且网址重定向到 B.com,如果 WebView,WebView将保持黑色。 shouldOverrideUrlLoading 返回true。
在这种情况下,我想关闭WebView,但是由于重定向,如何确定它是否为空白。
不能与onPageFinished()
一起使用,即使已重定向,也总是被调用
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains(B.com)){
return true;
}
}
答案 0 :(得分:1)
看到您可以遵循此代码,
初始化WebView
webView.settings.javaScriptEnabled = true
webView.settings.loadsImagesAutomatically = true
webView.scrollBarStyle = View.SCROLLBARS_INSIDE_OVERLAY
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null)
设置网络视图侦听器
webView.webViewClient = object : WebViewClient() {
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
url?.let {
// do what you want here, for example
if(it != "determine url"){
val returnIntent = Intent()
returnIntent.putExtra("tag_bool", true)
setResult(Activity.RESULT_OK, returnIntent)
finish()
}
}
}
override fun onReceivedError(view: WebView, request: WebResourceRequest,
error: WebResourceError) {
super.onReceivedError(view, request, error)
// show error
return true
}
override fun shouldOverrideUrlLoading(view: WebView?, request:
WebResourceRequest?): Boolean {
// you can handle loading ui and show progress
view?.loadUrl(url)
return true
}
不要忘记在清单文件的应用程序标记中添加此行
android:usesCleartextTraffic="true"
您可以了解更多信息,请查看此链接 https://developer.android.com/guide/topics/manifest/application-element#usesCleartextTraffic