此問題出現的原因是:在js調用後的Java回調線程並不是主線程;
解決上述的異常,將webview操作放在主線程中即可:
webView.post(new Runnable() { @Override public void run() { webView.loadUrl(YOUR_URL). } });
引申:
JavaScript和Java的交互是在子線程上面進行的
因爲JavaScript和Java交互是在子線程上面進行的,所以如果需要UI方面的修改操作,或者執行其他的操作,必須要考慮到線程安全的問題。