Webview应始终返回null InterceptRequest方法
Webview shouldInterceptRequest方法始终返回null。我使用了adblocking方法。我尝试了许多adblock方法,但始终需要此shouldInterceptRequest方法,但其返回null 我的网络视图代码Webview应始终返回null InterceptRequest方法,webview,kotlin,Webview,Kotlin,Webview shouldInterceptRequest方法始终返回null。我使用了adblocking方法。我尝试了许多adblock方法,但始终需要此shouldInterceptRequest方法,但其返回null 我的网络视图代码 webView.webViewClient = object : WebViewClient() { override fun shouldOverrideUrlLoading(view: WebView?, request: WebR
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
view!!.loadUrl(request!!.url.toString())
return true
}
override fun shouldInterceptRequest(view: WebView?, request: WebResourceRequest?): WebResourceResponse {
return if (
AdBlocker.isAd(request!!.url.toString()))
AdBlocker.createEmptyResource()
else
super.shouldInterceptRequest(view, request)
}
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
eTadres.setText(url)
suankiurl= url!!
super.onPageStarted(view, url, favicon)
}
override fun onLoadResource(view: WebView?, url: String?) {
if (webView.visibility==View.GONE){webView.visibility=View.VISIBLE}
super.onLoadResource(view, url)
}
}
错误日志
W/System.err: java.lang.IllegalStateException: super.shouldInterceptRequest(view, request) must not be null
10-19 17:46:53.185 306-349/com.bulamac.tarayicibulamac W/System.err: at com.bulamac.tarayicibulamac.WebviewFragment$onCreateView$5.shouldInterceptRequest(WebviewFragment.kt:182)
10-19 17:46:53.185 306-349/com.bulamac.tarayicibulamac W/System.err: at com.android.webview.chromium.WebViewContentsClientAdapter.shouldInterceptRequest(WebViewContentsClientAdapter.java:52)
10-19 17:46:53.185 306-349/com.bulamac.tarayicibulamac W/System.err: at org.chromium.android_webview.AwContents$BackgroundThreadClientImpl.shouldInterceptRequest(AwContents.java:9)
10-19 17:46:53.185 306-349/com.bulamac.tarayicibulamac W/System.err: at org.chromium.android_webview.AwContentsBackgroundThreadClient.shouldInterceptRequestFromNative(AwContentsBackgroundThreadClient.java:11)
10-19 17:46:53.186 306-349/com.bulamac.tarayicibulamac A/chromium: [FATAL:jni_android.cc(243)] Please include Java exception stack in crash report
super.shouldInterceptRequest(视图、请求)
将始终返回null(查看此代码的实现)。若你们想防止应用程序崩溃,你们应该使用下面的例子
更改为“:WebResourceResponse?”(“已添加”)
super.shouldInterceptRequest(view,request)
它应该返回null,检查您的override fun shouldInterceptRequest的返回类型,根据文档,它应该可以为null:
包含响应信息的WebResourceResponse,如果WebView应该加载资源本身,则为null
override fun shouldInterceptRequest(view: WebView?, request: WebResourceRequest?): WebResourceResponse? {
return super.shouldInterceptRequest(view, request)
}