WebView Méthodes n'est pas appelé dans android
Ma vue Web n'est pas l'appel de la fonction javascript c'est le retour d'avertissement comme ci-dessous. Quelqu'un peut-il suggérer comment se débarrasser de l'avertissement ci-dessous.
07-30 10:15:44.031: W/webview_proxy(3770): java.lang.Throwable: Warning: A WebView method was called on thread 'WebViewCoreThread'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
Ci-dessous est ma fonction.
public boolean onLongClick(View v){
System.out.println("dfdsf");
//Tell the javascript to handle this if not in selection mode
//if(!this.isInSelectionMode()){
this.getSettings().setJavaScriptEnabled(true);
this.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
this.getSettings().setPluginsEnabled(true);
this.loadUrl("javascript:android.selection.longTouch();");
mScrolling = true;
//this.setJavaScriptEnabled(true);
//}
//Don't let the webview handle it
return true;
}
OriginalL'auteur user1048958 | 2013-07-30
Vous devez vous connecter pour publier un commentaire.
La mise en garde vous dit tout. Vous appelez la webview méthodes directement. Cela signifie que vous appelez sur WebViewCoreThread. Vous devez les appeler sur le Thread d'INTERFACE utilisateur qui veut dire, dans l'Activité qui utilise ce webview.
Comme:
C'est accepté de répondre et je ne peux pas le voir setJavaScriptEnabled() ou l'autre de ces méthodes pour WebView instance.
Je suppose que vous êtes sur une version plus récente d'Android. Ce post a été publié sur Android 2.3.3, je pense. Je ne suis pas sûr du tout. Dans les versions plus récentes, vous devez utiliser le code suivant:
wv.getSettings().setJavaScriptEnabled(true)
. Espérons que cela résout votre problèmeOriginalL'auteur ZeusNet
Que l'avertissement indique que vous appelez la webview méthodes dans le
WebViewCoreThread
.Donc de modifier votre code comme celui-ci,
OriginalL'auteur keerthana murugesan
Utiliser Ce Code, je pense qu'il va travailler pour vous,Et modifié en fonction de votre besoin ##
OriginalL'auteur Robi Kumar Tomar
onLongClick est un membre de webview ?
Il semble que vous ne pouvez pas appeler tous les WebView méthodes sur le sujet "WebViewCoreThread'.
Vous pouvez utiliser le gestionnaire, envoyer des msg de gestionnaire dans onLongClick , puis d'appeler WebView méthodes dans votre gestionnaire.
OriginalL'auteur Jun
Je pense que vous devez exécuter votre code de onLongClick méthode dans runOnUIThread() ou à l'aide de Gestionnaire, cet avertissement est due à l'utilisation de tout cela sur un thread de travail.
OriginalL'auteur Harish Godara
vous pouvez utiliser WebView via l'Exécutable. Pas Besoin d'utiliser de l'Activité.
OriginalL'auteur Sa Qada