Tuesday, May 8, 2012

getting an error in webview on ice cream sandwich


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.


Source: Tips4all

3 comments:

  1. 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.

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

    ReplyDelete
  3. 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 :)

    ReplyDelete