错误代码
FATAL EXCEPTION: JavaBridge
Process: violetjack.smartinfusion, PID: 31227
java.lang.RuntimeException: 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) {4186a978} called on Looper (JavaBridge, tid 385) {41a24830}, FYI main Looper is Looper (main, tid 1) {4186a978})
at android.webkit.WebView.checkThread(WebView.java:2082)
at android.webkit.WebView.loadUrl(WebView.java:803)
...
错误原因:
由于在webview加载页面时是这么写的
mAgentWeb?.webCreator?.webView?.loadUrl("${parmas}")
解决方案
在Stackoverflow上找到了正解http://stackoverflow.com/questions/22607657/webview-methods-on-same-thread-error
runOnUiThread {
mAgentWeb?.webCreator?.webView?.loadUrl("${parmas}")
}
就是将webview的loadUrl
方法写在runOnUiThread
中即可解决问题。
网友评论