我遇到了webview和javascript接口的问题。 webview位于片段内,可以从viewpager中删除。有时我调用方法loadUrl,我在错误的线程和应用程序崩溃。如果iam在后台线程上并且我从后台线程调用loadUrl而没有发布到UI-Thread,则崩溃是可以的。但我已经实现了以下功能,我认为崩溃不应该发生:
mWebView.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl("javascript:" + _callback + "()");
}
});
然而,我有时会遇到以下崩溃:
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) {189b08de} called on Looper (JavaBridge, tid 160593) {2c1874b2}, FYI main Looper is Looper (main, tid 1) {189b08de})
我发现这种情况发生时无法再现。 当从viewpager中删除片段并调用loadUrl方法时会发生这种情况吗?
当发生这种情况时,有人知道吗?