Android中 webView调用JS出错的解决办法
问题
webView调用JS出错。
classTestJS{
......
publicTestJS(){
}
publicvoidsave(Stringdata){
webView.loadUrl("javascript:alert("+data+")");
}
......
}
W/WebView(2088):java.lang.Throwable:AWebViewmethodwascalledonthread'JavaBridge'.AllWebViewmethodsmustbecalledonthesamethread.(ExpectedLooperLooper(main,tid1){b3dbcb18}calledonLooper(JavaBridge,tid120){b44a1af8},FYImainLooperisLooper(main,tid1){b3dbcb18})
W/WebView(2088): atandroid.webkit.WebView.checkThread(WebView.java:2063)
W/WebView(2088): atandroid.webkit.WebView.loadUrl(WebView.java:794)
W/WebView(2088): atcom.ue.oa.activity.XFormActivity.alert(XFormActivity.java:180)
W/WebView(2088): atcom.ue.oa.activity.XFormActivity$FormActions.save(XFormActivity.java:193)
W/WebView(2088): atcom.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(NativeMethod)
W/WebView(2088): atcom.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/WebView(2088): atandroid.os.Handler.dispatchMessage(Handler.java:102)
W/WebView(2088): atandroid.os.Looper.loop(Looper.java:136)
W/WebView(2088): atandroid.os.HandlerThread.run(HandlerThread.java:61)
解决
将save方法修改为:
publicvoidsave(Stringdata){
webView.post(newRunnable(){
@Override
publicvoidrun(){
webView.loadUrl("javascript:alert("+data+")");
}
});
}
以上就是解决方法了,是不是很简单呢,希望小伙伴们能够喜欢。
热门推荐
10 我老公蛋糕祝福语简短
11 霸气新年祝福语大全简短
12 女儿生日简短祝福语幽默
13 中秋祝福语简短有深度
14 幼儿转园祝福语简短
15 女神节医生祝福语简短
16 虎年幽默搞笑简短祝福语
17 开业贺卡祝福语简短高级
18 节日祝福语简短个性文案