webView.loadUrl 错误:A WebView method was called on thread 'JavaBridge'.

String voicePath="file://"+MVOICEPATH;
webView.loadUrl("javascript:voiceStopCallback(‘"+voicePath+"‘)");

日志错误提示:

A WebView method was called on thread ‘JavaBridge‘. All WebView methods must be called on the same thread

解决办法

		   webView.post(new Runnable() {
	            @Override
	            public void run() {
	            	  String voicePath="file://"+MVOICEPATH;
	            	  webView.loadUrl("javascript:voiceStopCallback(‘"+voicePath+"‘)");
	            }
	        });

webView.loadUrl 错误:A WebView method was called on thread 'JavaBridge'.

时间: 2024-10-10 11:11:33

webView.loadUrl 错误:A WebView method was called on thread 'JavaBridge'.的相关文章

Android - A WebView method was called on thread 'JavaBridge

源码: webView.evaluateJavascript("javascript:"+callBack + "(" + request + ")", new ValueCallback<String>() { @Override public void onReceiveValue(String value) { Log.d(TAG, "onReceiveValue: "+value+ pin); // Sof

【Android】java.lang.RuntimeException: java.lang.Throwable: A WebView method was called on thread &#39;JavaBridge&#39;.

一.问题 Java调用JS事件出现 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) {3474c308} called on Looper (JavaBridg

[Android]WebView method must on same thread

问题描述 最近代码里使用了webview,主要是使用webview load了远程的url.但是我从实现了javascript接口,调用javascript中方法刷新url时,发现刷新代码没有实际效果.示例代码如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); final WebView web

Android WebView自定义错误页面笔记

需求: WebView加载H5页面遇到错误时,需要修改系统默认的页面,采用自己定制的页面. 解决方案与过程: 1.最开始采用的是webView.loadDataWithBaseUrl加载一段字符串: String data="<a onClick=\"window.history.back()\" >页面错误,点击刷新</a>"; mWebView.loadDataWithBaseURL("", data, "t

如果拦截WebView的错误和OS升级到4.4后链接不能点击的问题

android OS升级到4.4之后,有些WebView的链接我们点击无效了,下面可以解决其中的某一种情况: webviewClient的shouldOverrideUrlLoading方法必须返回false,返回true会导致这个问题 有时候PM会有一种需求,如果不是Server那边的问题,那么想在界面上显示自定义的错误(如遇到连接到WIFI CMCC而没有移动的密码,手机显示着连接上了WIFI) 这时我们需要去截获WebView的error,可以通过重载setWebViewClient的方法

webview loadUrl() 弹出系统浏览器解决办法

有很多时候,我们请求的网站会直接跳转到一个位置,这样会直接全屏浏览器加载被跳转的网页,或者弹出浏览器选择(除了系统的,你还自己安装了其他浏览器). 于是解决办法的原理就是,在webview中跳转. 办法一: mywebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { //重写此方法表明点击网页里面的链接 //还是在当前的we

安卓webview和js+html交互利用的addJavascriptInterface和webview.loadUrl(&quot;javascript:**&quot;);

近期做一个项目需要把一个 服务支持的界面用webview来显示..呀 html白雪了js更是一样啥也不会,相信很多初学屌丝员跟我一样,, html开发工具都不知道怎么写..哈哈哈.....现在把做完的结果分享一下先上图了 ,, 这是从项目中特意分离出来的demo这里之上一些关键代码 源码下载地址  http://download.csdn.net/download/yung7086/7554309 步骤 首先在assets目录下建一个html文件 <!DOCTYPE html PUBLIC &quo

WebView中JS调用Android Method 遇到的坑整理

WebView是android中常用的一个组件,其作用是展示网页,并让网页和android app进行一些业务逻辑上的交互. 其坑无数,相信用过的都知道,一个一个来解决吧. 1.怎么互调: <!DOCTYPE> <html> <head> <meta charset="UTF-8"> <script type="text/javascript"> function android(bl){ if(bl){

webview.loadUrl()可能会URLDecoder

与服务器交互时,客户端对userId进行了URLEncoder,然后在webview.loadUrl时将userId传给服务端,服务端再 URLDecoder userId 可是神奇的事情出现了,客户端这边一直debug到loadUrl(),把userId传给了服务端,userId还是encode形式的,但是服务端拿到时,userId却是没有进行过encode的,这非常怪异.期初大家相互排除代码,看看是否真的有encode. 最后发现如果将userId encode两次,再传给服务端,服务端拿到