遇到的問題- All WebView methods must be called on the same thread

此問題出現的原因是:在js調用後的Java回調線程並不是主線程;

解決上述的異常,將webview操作放在主線程中即可:

 

webView.post(new Runnable() {
    @Override
    public void run() {
        webView.loadUrl(YOUR_URL).
    }
});
引申:

 

JavaScript和Java的交互是在子線程上面進行的

因爲JavaScript和Java交互是在子線程上面進行的,所以如果需要UI方面的修改操作,或者執行其他的操作,必須要考慮到線程安全的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章