我正在尝试在android应用程序webview中加载一个url,但是失败了,我不知道确切的问题是什么。 onPageStared()和调用的方法,onReceiveError方法未调用,onPageFinished方法也被调用。以下是我的代码-
@SuppressLint("SetJavaScriptEnabled")
private fun setupWebView() {
webviewViewModel.loadingVisibility.value = View.VISIBLE
val webView = binding.webView
webView.settings.javaScriptEnabled = true
webView.settings.loadWithOverviewMode = true
webView.settings.useWideViewPort = true
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
view?.loadUrl(webviewViewModel.url)
return true
}
override fun onPageFinished(view: WebView?, url: String?) {
webviewViewModel.loadingVisibility.value = View.GONE
}
}
webView.loadUrl(webviewViewModel.url)
}
我正在使用的URL是-http://192.168.10.22:4200/bigday/terms-and-conditions
帮我解决我所缺少的东西。
答案 0 :(得分:0)
搜索2-3天后,我通过添加
获得了解决方案 webView.settings.domStorageEnabled = true
@SuppressLint("SetJavaScriptEnabled")
private fun setupWebView() {
webviewViewModel.loadingVisibility.value = View.VISIBLE
val webView = binding.webView
webView.settings.javaScriptEnabled = true
webView.settings.javaScriptCanOpenWindowsAutomatically = true
webView.settings.domStorageEnabled = true
webView.settings.loadWithOverviewMode = true
webView.settings.useWideViewPort = true
webView.settings.allowContentAccess = true
webView.webChromeClient = WebChromeClient()
webView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
view?.loadUrl(webviewViewModel.url)
return true
}
override fun onPageFinished(view: WebView?, url: String?) {
webviewViewModel.loadingVisibility.value = View.GONE
}
}
webView.loadUrl(webviewViewModel.url)
}