Android中 webView调用JS出错的解决办法
作者:hebedich 时间:2021-12-02 21:23:25
问题
webView调用JS出错。
class TestJS {
......
public TestJS(){
}
public void save(String data){
webView.loadUrl("javascript: alert(" + data +")");
}
......
}
W/WebView(2088): 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) {b3dbcb18} called on Looper (JavaBridge, tid 120) {b44a1af8}, FYI main Looper is Looper (main, tid 1) {b3dbcb18})
W/WebView(2088): at android.webkit.WebView.checkThread(WebView.java:2063)
W/WebView(2088): at android.webkit.WebView.loadUrl(WebView.java:794)
W/WebView(2088): at com.ue.oa.activity.XFormActivity.alert(XFormActivity.java:180)
W/WebView(2088): at com.ue.oa.activity.XFormActivity$FormActions.save(XFormActivity.java:193)
W/WebView(2088): at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/WebView(2088): at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27)
W/WebView(2088): at android.os.Handler.dispatchMessage(Handler.java:102)
W/WebView(2088): at android.os.Looper.loop(Looper.java:136)
W/WebView(2088): at android.os.HandlerThread.run(HandlerThread.java:61)
解决
将save方法修改为:
public void save(String data){
webView.post(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript: alert(" + data +")");
}
});
}
标签:Android,webView,调用JS
0
投稿
猜你喜欢
Java8 Collectors.toMap的坑
2023-06-24 14:47:48
Android 中无法取消标题栏的问题小结(两种方法)
2021-06-25 19:45:02
Spring Boot + Mybatis多数据源和动态数据源配置方法
2023-02-16 17:15:31
android 通知Notification详解及实例代码
2023-06-26 12:11:42
SpringCloud版本问题报错及解决方法
2023-01-29 23:19:46
详解Spring中的Environment外部化配置管理
2023-11-23 05:24:24
C#中委托和事件的区别实例解析
2022-07-03 09:28:39
IDEA版最新MyBatis程序配置教程详解
2022-08-25 03:27:26
Unity实现UI光晕效果(发光效果)
2022-07-08 16:37:41
Unity 读取文件 TextAsset读取配置文件方式
2023-07-05 12:24:05
Java实现将图片上传到webapp路径下 路径获取方式
2023-07-10 12:44:13
Android AIDL实现与服务相互调用方式
2021-08-09 10:57:40
在Spring中编写事务的介绍
2021-12-15 10:33:18
Spring整合Quartz实现定时任务调度的方法
2023-07-07 00:55:55
Java overload和override的区别分析
2023-10-12 15:16:17
Java基于swing实现的弹球游戏代码
2023-09-15 05:13:49
Android实现授权访问网页的方法
2022-05-13 15:39:57
C# Split分隔字符串的应用(C#、split、分隔、字符串)
2021-12-01 23:13:51
封装flutter状态管理工具示例详解
2022-04-17 14:15:56
Java 实现模拟用户登录的示例代码
2022-10-16 04:23:06