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 给外婆敬酒祝福语简短