【发布时间】:2016-01-24 17:27:26
【问题描述】:
我在加载特定网页的应用中有WebView。
该网页上有一个按钮,该按钮使用 JavaScript 调用 Android 活动中的方法以重新加载 WebView 中的 URL(有效地将网络应用重置为其默认状态)。
由于这里有几个线程,我已经让 Android 的所有 JavaScript 接口都工作了,我可以弹出一个 Toast 来显示应用程序即将重新加载,但我收到了一个错误WebView.loadUrl() 调用如下。
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) {1d015c84} called on Looper (JavaBridge, tid 122148) {33703881}, FYI main Looper is Looper (main, tid 1) {1d015c84})
我猜这是因为执行重新加载的方法不在此活动的 onCreate 方法中,该方法执行所有其他 WebView 的东西,但我不确定这是否真的是问题以及如何解决它 - 因为重新加载 URL 的方法需要在 JavascripInterface 类中才能从网页中访问。
【问题讨论】:
标签: javascript java android android-webview