2011-12-18 10 views
11

L'errore èottenendo un errore nella visualizzazione Web su sandwich gelato

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

che io chiamo un

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

sul

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

questa è una WebView la riproduzione di un video player flash, tutto è buono su 2.2, 2.3.3, ecc, l'ho provato sul gelato panino e nessun errore visibile (tranne che è solo uno schermo nero né riproduzione video)

Qualsiasi pensiero.

+0

im ottenere lo stesso errore, cercando la soluzione. – fargath

+0

grazie amico, fammi sapere se lo trovi, lo farò anch'io. – craigk

+0

anche io, buona fortuna. – BillVienna

risposta

0

È possibile chiamare webview.loadUrl ("javascript: myJavaMethod (" + itemArr + "," + telcoID + ");"); in una discussione in background. questa può essere una soluzione.

avviserà: È stato chiamato un metodo di visualizzazione Web sul thread xxxx Tutti i metodi di visualizzazione Web devono essere richiamati sul thread dell'interfaccia utente.

Ma funziona.

+0

Provato con un AsyncTask e non funziona. Mostra l'avvertimento sulla chiamata dei metodi webview sul thread dell'interfaccia utente, ma l'errore originale rimane. – Theo

1

Ho avuto lo stesso problema fino a quando non ho aggiunto la vista Web alla vista dinamicamente.

+0

Questo ha funzionato per me sorprendentemente! –

+2

puoi spiegare di più? –

0

Stavo ricevendo lo stesso errore nella mia applicazione, tuttavia penso che il mio problema sia un errore dello sviluppatore. Per spiegare come ho avuto questo problema, descrivere male quello che ho fatto. Sto creando un'applicazione Android che sta caricando ed eseguendo un'applicazione JavaScript compilata GWT in una WebView. Ho cercato molte cose diverse fino a quando ho capito che il mio problema era nella mia classe WebViewClient. Ho implementato la mia classe come segue:

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

Ciò ha causato rapidamente l'eccezione di cui sopra. Ho modificato la riga sopra riportata come segue:

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

E POOF! niente più errori. Non posso dire di poter effettivamente spiegare cosa ho sbagliato. Ma sono sicuro che se avessi scavato un po 'di più, avrei trovato il problema. Ma per ora, sono felice che funzioni. Spero che questo sia utile a qualcuno :)

+0

Solo una nota, l'eccezione sembrava solo manifestarsi su ICS 4.0.1, e non sembrava essere un problema su 3.0 e inferiore. –

2

So che questo argomento è vecchio, ma l'ho usato per trovare la mia soluzione a quell'errore 107. mio fix è stato quello di sostituire il deprecato:

webview.getSettings().setPluginsEnabled (true); 

a

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

Ora riproduce il video e senza errori.

Problemi correlati