android agentweb 提示java.lang.Run

2020-11-04  本文已影响0人  hao_developer

错误代码

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中即可解决问题。

上一篇 下一篇

猜你喜欢

热点阅读