Получение ошибки в 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! больше ошибок. Я не могу сказать, что могу объяснить, что я сделал неправильно. Но я уверен, что если я выкопаю еще немного, я найду проблему. Но пока я рад, что он работает. Надеюсь, это кому-то полезно:)