zoukankan      html  css  js  c++  java
  • [原][Android]All WebView methods must be called on the same thread.


    问题

        webView调用JS出错。

        class TestJS {
            ......
            public TestJS(){
            }
            
            public void save(String data){            
                webView.loadUrl("javascript: alert(" + data +")");
            }
            ......
        }

        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)

    解决


    将save方法修改为:
        public void save(String data){            
            webView.post(new Runnable() {
                @Override
                public void run() {
                    webView.loadUrl("javascript: alert(" + data +")");
                }
            });
        }

    【Reference】
    [1] 《android webview.loadUrl won't load another webpage》 : http://stackoverflow.com/questions/21955593/android-webview-loadurl-wont-load-another-webpage
    作者:wintys (wintys@gmail.com)  出处:http://wintys.cnblogs.com   欢迎转载,转载请注明作者及出处。
  • 相关阅读:
    SSH出现Connection refused错误
    Lisp经典算法
    Arch Linux下韩文重叠显示
    Vim在图形环境下全屏产生黑边
    Vim常用插件安装及配置方法
    Python中Scrapy框架元素选择器XPath的简单实例
    Manjaro下Steam无法启动
    GNOME禁用GDM中night-light功能
    Neovim中提示Error: Required vim compiled with +python
    Manjaro下带供电的USB Hub提示error -71
  • 原文地址:https://www.cnblogs.com/wintys/p/3797656.html
Copyright © 2011-2022 走看看