Kotlin - WebView 未加载网页
Kotlin - WebView not loading webpage
我有一个 WebView,我需要在其中加载一个自定义网站。
我创建了 WebView 并使用 google.com 对其进行了测试,它工作正常。
但是,对于我的网站,它显示的是白屏,仅此而已。没有错误。
wvMainView!!.settings.setJavaScriptEnabled(true)
wvMainView!!.settings.setLoadWithOverviewMode(true);
wvMainView!!.settings.setUseWideViewPort(true);
wvMainView!!.webViewClient = object : WebViewClient()
{
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean
{
view?.loadUrl("https://www.google.com")
return true
}
}
wvMainView!!.loadUrl("https://www.google.com")
我在AndroidManifest中也有权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
android:usesCleartextTraffic="true"
我猜这是因为我的网站是纯 http 而不是 https,但我找不到绕过它的方法。
关于我在这里做错了什么有什么想法吗?
webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
Log.i(TAG, "loading: deprecation");
return true;
//return super.shouldOverrideUrlLoading(view, url);
}
@Override
@TargetApi(Build.VERSION_CODES.N)
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
Log.i(TAG, "loading: build.VERSION_CODES.N");
return true;
//return super.shouldOverrideUrlLoading(view, request);
}
@Override
public void onPageStarted(
WebView view, String url, Bitmap favicon) {
Log.i(TAG, "page started:"+url);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, final String url) {
Log.i(TAG, "page finished:"+url);
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError er) {
handler.proceed();
}
});
我有一个 WebView,我需要在其中加载一个自定义网站。 我创建了 WebView 并使用 google.com 对其进行了测试,它工作正常。 但是,对于我的网站,它显示的是白屏,仅此而已。没有错误。
wvMainView!!.settings.setJavaScriptEnabled(true)
wvMainView!!.settings.setLoadWithOverviewMode(true);
wvMainView!!.settings.setUseWideViewPort(true);
wvMainView!!.webViewClient = object : WebViewClient()
{
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean
{
view?.loadUrl("https://www.google.com")
return true
}
}
wvMainView!!.loadUrl("https://www.google.com")
我在AndroidManifest中也有权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
android:usesCleartextTraffic="true"
我猜这是因为我的网站是纯 http 而不是 https,但我找不到绕过它的方法。 关于我在这里做错了什么有什么想法吗?
webView.setWebViewClient(new WebViewClient() {
@SuppressWarnings("deprecation")
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
Log.i(TAG, "loading: deprecation");
return true;
//return super.shouldOverrideUrlLoading(view, url);
}
@Override
@TargetApi(Build.VERSION_CODES.N)
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
Log.i(TAG, "loading: build.VERSION_CODES.N");
return true;
//return super.shouldOverrideUrlLoading(view, request);
}
@Override
public void onPageStarted(
WebView view, String url, Bitmap favicon) {
Log.i(TAG, "page started:"+url);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, final String url) {
Log.i(TAG, "page finished:"+url);
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError er) {
handler.proceed();
}
});