• [原][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   欢迎转载,转载请注明作者及出处。
  • 相关阅读:
    pycharm运行html文件报404错误
    css3 鼠标悬浮动画效果
    子代选择器和后代选择器的区别
    前端入门
    爬虫Scrapy框架
    BeautifulSoup
    爬虫之selenium使用
    爬虫之BeautifulSoup
    urllib模块
    爬虫基础
  • 原文地址:https://www.cnblogs.com/wintys/p/3797656.html
Copyright © 2020-2023  润新知