Webview's loadData() is not working in android 10.0 (Q)-ThrowExceptions

Exception or error:

Here i am trying to load Html code as string in webview’s loadData() .Nothing is happen over this mehtod but same method is working like charm in below sdk 29.

webview.loadData(html_code,"text/html",null);

Note : Here i am not performing any encoding or decoding operation on string.I am simply passing it as string to above method.

How to solve:

Use This code it will work.

String newhtml_code = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);
        testWebView.loadData(newhtml_code,"text/html", "base64");

###

Try calling

String encodedHtml = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);

webview.getSettings().setJavaScriptEnabled(true);

before

webview.loadData(encodedHtml , "text/html", "base64");

like below

    String html_code= "<html><body>Your Actualtext.</body></html>";
    String encodedHtml = Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING);
 webview.getSettings().setJavaScriptEnabled(true);
    webview.loadData(encodedHtml , "text/html", "base64");

for more details refer to this link

###

manifest file in

 android:usesCleartextTraffic="true"

and

 WebSettings settings = wb_webview.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
String html_code = "html code";
wb_webview.loadData(Base64.encodeToString(html_code.getBytes(), Base64.NO_PADDING) , "text/html", "base64");

###

Now it is working after performing base-64 encoding to string html_code.

Issue resolved by passing html_code string as per given instruction in docs

Leave a Reply

Your email address will not be published. Required fields are marked *