получить ошибку в веб-просмотре на бутерброд с мороженым - PullRequest
11 голосов
/ 19 декабря 2011

Ошибка

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 и т. Д., попробовал его на бутерброде с мороженым и без видимой ошибки (кроме просто черного экрана или воспроизведения видео)

Есть мысли.

Ответы [ 5 ]

2 голосов
/ 06 июля 2012

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

webview.getSettings().setPluginsEnabled (true);

на

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

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

1 голос
/ 22 февраля 2012

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

0 голосов
/ 21 апреля 2012

Я получил ту же ошибку в моем приложении, однако я думаю, что моя проблема - ошибка разработчика.Чтобы объяснить, как я получил эту проблему, я опишу, что я сделал.Я создаю приложение Android, которое загружает и запускает скомпилированное GWT приложение JavaScript в 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;
    }
}

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

0 голосов
/ 09 апреля 2012

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

0 голосов
/ 03 февраля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...