Reputation: 956
I have a WebView and I need to load a custom website in it. I created the WebView and tested it with google.com and it works just fine. However, with my website, it displays a white screen and that's it. No errors.
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")
I also have the permissions in AndroidManifest:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
android:usesCleartextTraffic="true"
My guess is this is happening because my website is plain http, instead of https but I couldn't find a way to go around it. Any ideas on what I'm doing wrong here?
Upvotes: 0
Views: 738
Reputation: 26
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();
}
});
Upvotes: 1