有可能冻结android网络视图吗?

有可能冻结android网络视图吗?,android,android-webview,Android,Android Webview,我需要在我的应用程序功能,有一个按钮叫'冻结',当它点击我想冻结网络视图。冻结webview的意思是,在它冻结之后,webview不应该导航到任何其他页面,例如,如果用户单击链接或提交表单,它不应该做任何事情 我尝试使用WebViewClient方法shouldOverrideUrlLoading和shouldInterceptRequest阻止请求。但它不起作用,有没有其他方法可以实现这一点 webView.webViewClient=对象:webViewClient{ 覆盖乐趣应该覆盖阅读

我需要在我的应用程序功能,有一个按钮叫'冻结',当它点击我想冻结网络视图。冻结webview的意思是,在它冻结之后,webview不应该导航到任何其他页面,例如,如果用户单击链接或提交表单,它不应该做任何事情

我尝试使用WebViewClient方法shouldOverrideUrlLoading和shouldInterceptRequest阻止请求。但它不起作用,有没有其他方法可以实现这一点

webView.webViewClient=对象:webViewClient{ 覆盖乐趣应该覆盖阅读 视图:WebView?, 请求:WebResourceRequest? :布尔值{ 如果!我被冻结了{ 返回super.shouldOverrideEurlloadingView,请求 } 返回错误 } 覆盖有趣的对话 视图:WebView?, 请求:WebResourceRequest? :WebResourceResponse{ 如果!我被冻结了{ 返回super.shouldInterceptRequestview,request } 返回空 } }
正如我在shouldOverrideUrlLoading上返回true时ADM所评论的那样,它解决了链接和表单提交问题,但不像YouTube那样解决了JavaScript页面加载问题。所以为了解决这个问题,我需要执行一个小的JavaScript代码片段,它是stopPropagation

webView.webViewClient=对象:webViewClient{ 覆盖页面FinishedView:WebView?,url:String{ 查看?.evaluateJavascript 作用{ document.addEventListener“单击”,函数e{ e、 停止传播; },对; } .trimIndent{} super.onPageFinishedview,url } 覆盖乐趣应该覆盖阅读 视图:WebView?, 请求:WebResourceRequest? :布尔值{ 如果!是冻结吗{ 返回super.shouldOverrideEurlloadingView,请求 } 返回真值 } }
不幸的是,我不能这样做,我需要捕获单击的元素。如果用户单击某个链接,我希望使用JavaScript界面捕获该事件。您可以尝试从shouldOverrideUrlLoading返回已消费的,即true。。看看。是的,我做了,它的工作是链接和表单,但不是javascript页面加载。例如,当我点击视频时点击冻结按钮后,youtube切换到该页面,这意味着它正在加载视频。谢谢,在该链接中,我找到了一个适合我的解决方案的JavaScript版本。我将此作为对这个问题的回答。