Home » Android » android – getting an error in webview on ice cream sandwich

android – getting an error in webview on ice cream sandwich

Posted by: admin May 14, 2020 Leave a comment

Questions:

Error is

java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.

I am calling a

webview.loadUrl("javascript:myJavaMethod(" + itemArr + "," + telcoID + ");");

on the

webview.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {

this is a webview playing a flash video player, all is good on 2.2, 2.3.3 etc, tried it on ice cream sandwich and no visible error (other than its just a black screen nor video playing)

Any thoughts.

How to&Answers:

I know this topic is old, but I used it to find my solution to that 107 error.
My fix was to replace the deprecated:

webview.getSettings().setPluginsEnabled (true);

to

webview.getSettings().setPluginState(PluginState.ON);

Now it plays the video and error free.

Answer:

I had the same problem until I added the webview to the view dinamically.

Answer:

You can call webview.loadUrl(“javascript:myJavaMethod(” + itemArr + “,” + telcoID + “);”);
in a background thread. this can be a solution.

it will warn:
A webview method was called on thread xxxx All webview methods must be called on the UI thread.

But it works.

Answer:

I had the same problem, and I added android:hardwareAccelerated=”true” to the actual Activity that the Webview was contained in the Manifest. Hopefully that works for you too. This looks like there is a bug logged: http://code.google.com/p/android/issues/detail?id=21177

Answer:

I was getting the same error in my application, however i think my issue is a developer error. In order to explain how i got this issue, ill describe what i did. I’m creating an Android application which is loading and running a GWT compiled JavaScript application into a WebView. I looked around for many different things until i realized that my problem was in my own WebViewClient class. I had my class implemented as follows:

private static class HelloWebViewClient extends WebViewClient
{
    @Override
    public boolean shouldOverrideUrlLoading( WebView view, String url )
    {
        view.loadUrl( url );
        return true;
    }
}

This quickly caused the above exception to manifest. I changed the above line to being the following:

private static class HelloWebViewClient extends WebViewClient
{
    @Override
    public boolean shouldOverrideUrlLoading( WebView view, String url )
    {
        return false;
    }
}

And POOF! no more error. I can’t say I can actually explain what I did wrong. But im sure if i dug a bit more, i’d find the problem. But for now, I’m happy that it works. I hope this is useful to someone 🙂