WebView-Methoden nicht aufgerufen in android
Meiner Web-Ansicht nicht den Aufruf der javascript-Funktion es ist die Rückkehr Warnung wie unten. Kann jemand empfehlen, wie man loswerden der Warnung unten.
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.
Unten ist meine Funktion.
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;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Warnung sagt Ihnen alles. Sie sind dem Aufruf der webview Methoden direkt. Das bedeutet, dass Sie rufen Sie auf WebViewCoreThread. Sie haben, um Sie zu rufen, auf der UI-Thread das bedeutet, dass die Tätigkeit, die verwendet diese webview.
Wie:
wv.getSettings().setJavaScriptEnabled(true)
. Hoffe, dies löst dein problemWie die Warnung sagt, Sie sind dem Aufruf der webview Methoden in der
WebViewCoreThread
.So ändern Sie Ihren code wie diesem,
Verwenden Sie Diesen Code, ich denkt, es wird für Sie arbeiten,Und modifiziert Sie nach Ihrem Bedarf ##
onLongClick ist ein Mitglied der webview ?
Es scheint, Sie können nicht aufrufen, alle WebView-Methoden auf dem thread 'WebViewCoreThread'.
Können Sie handler send msg to-handler in onLongClick , dann rufen Sie WebView Methoden in Ihren handler.
Ich denke, Sie müssen führen Sie Ihre code onLongClick Methode runOnUIThread() oder mit Hf, diese Warnung ist auf Grund der Verwendung all dieser auf einen worker-thread.
können Sie WebView über Runnable. Keine Notwendigkeit zu verwenden Aktivität.