Получение ошибки в webview на сэндвич с мороженым

Ошибка

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

Я вызываю

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

на

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

это веб-просмотр, воспроизводящий флеш-плеер, все хорошо на 2.2, 2.3.3 и т.д., пробовал его на сэндвиче с мороженым и не видел видимой ошибки (кроме его только черного экрана и воспроизведения видео)

Любые мысли.

Ответ 1

Я знаю, что эта тема старая, но я использовал ее, чтобы найти решение этой ошибки 107. Мое исправление заключалось в замене устаревшего:

webview.getSettings().setPluginsEnabled (true);

к

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

Теперь он воспроизводит видео и без ошибок.

Ответ 2

У меня была та же проблема, пока я не добавил веб-представление в представление динамически.

Ответ 3

Вы можете вызвать webview.loadUrl( "javascript: myJavaMethod (" + itemArr + "," + telcoID + ");" ); в фоновом потоке. это может быть решением.

он будет предупреждать: Метод webview был вызван в потоке xxxx. Все методы webview должны вызываться в потоке пользовательского интерфейса.

Но это работает.

Ответ 4

У меня была та же проблема, и я добавил android: hardwareAccelerated = "true" в фактическую активность, которую Webview содержал в манифесте. Надеюсь, это сработает и для вас. Это похоже на ошибку: http://code.google.com/p/android/issues/detail?id=21177

Ответ 5

Я получал ту же ошибку в своем приложении, но думаю, что моя проблема - ошибка разработчика. Чтобы объяснить, как я получил эту проблему, плохо описать, что я сделал. Я создаю приложение для Android, которое загружает и запускает скомпилированное приложение JavaScript GWT в WebView. Я искал разные вещи, пока не понял, что моя проблема связана с моим классом WebViewClient. Я выполнил свой класс следующим образом:

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

Это быстро вызвало проявленное выше исключение. Я изменил приведенную выше строку следующим образом:

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

И POOF! больше ошибок. Я не могу сказать, что могу объяснить, что я сделал неправильно. Но я уверен, что если я выкопаю еще немного, я найду проблему. Но пока я рад, что он работает. Надеюсь, это кому-то полезно:)