源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android中 webView调用JS出错的解决办法

  • 时间:2020-05-17 08:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android中 webView调用JS出错的解决办法
[b]问题[/b]     webView调用JS出错。
[u]复制代码[/u] 代码如下:
    class TestJS {         ......         public TestJS(){         }                 public void save(String data){                        webView.loadUrl("javascript: alert(" + data +")");         }         ......     }
[u]复制代码[/u] 代码如下:
    W/WebView(2088): java.lang.Throwable: A WebView method was called on thread 'JavaBridge'. All WebView methods must be called on the same thread. (Expected Looper Looper (main, tid 1) {b3dbcb18} called on Looper (JavaBridge, tid 120) {b44a1af8}, FYI main Looper is Looper (main, tid 1) {b3dbcb18})     W/WebView(2088):     at android.webkit.WebView.checkThread(WebView.java:2063)     W/WebView(2088):     at android.webkit.WebView.loadUrl(WebView.java:794)     W/WebView(2088):     at com.ue.oa.activity.XFormActivity.alert(XFormActivity.java:180)     W/WebView(2088):     at com.ue.oa.activity.XFormActivity$FormActions.save(XFormActivity.java:193)     W/WebView(2088):     at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)     W/WebView(2088):     at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)     W/WebView(2088):     at android.os.Handler.dispatchMessage(Handler.java:102)     W/WebView(2088):     at android.os.Looper.loop(Looper.java:136)     W/WebView(2088):     at android.os.HandlerThread.run(HandlerThread.java:61)
[b]解决[/b] 将save方法修改为:
[u]复制代码[/u] 代码如下:
    public void save(String data){                    webView.post(new Runnable() {             @Override             public void run() {                 webView.loadUrl("javascript: alert(" + data +")");             }         });     }
以上就是解决方法了,是不是很简单呢,希望小伙伴们能够喜欢。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部