Android中 webView调用JS出错的解决办法

 更新时间:2015年01月26日 11:52:18   投稿:hebedich  
这篇文章主要介绍了Android中 webView调用JS出错的解决办法,需要的朋友可以参考下

问题

    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 一些常用的混淆Proguard

    Android 一些常用的混淆Proguard

    这篇文章主要介绍了Android 一些常用的混淆Proguard,帮助大家更好的理解和使用Android,感兴趣的朋友可以了解下
    2021-02-02
  • Android 出现:java.lang.NoClassDefFoundError...错误解决办法

    Android 出现:java.lang.NoClassDefFoundError...错误解决办法

    这篇文章主要介绍了Android 出现:Android出现:java.lang.NoClassDefFoundError: android/os/PersistableBundle错误解决办法的相关资料,需要的朋友可以参考下
    2017-03-03
  • Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

    Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析

    这篇文章主要介绍了Android user版通过adb_enable开启adb 调试 不提示对话框的流程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Android实现循环轮播跑马灯的效果

    Android实现循环轮播跑马灯的效果

    这篇文章主要介绍了为大家详细介绍了如何通过Android实现循环轮播跑马灯的效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • android  点击EditText始终不弹出软件键盘实现代码

    android 点击EditText始终不弹出软件键盘实现代码

    这篇文章主要介绍了android 点击EditText始终不弹出软件键盘实现代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • Android中通过AsyncTask类来制作炫酷进度条的实例教程

    Android中通过AsyncTask类来制作炫酷进度条的实例教程

    这篇文章主要介绍了Android中通过AsyncTask来制作炫酷进度条的实例教程,借助AsyncTask类的线程操作方法来管理异步任务,需要的朋友可以参考下
    2016-05-05
  • Android多线程断点续传下载实现代码

    Android多线程断点续传下载实现代码

    这篇文章主要介绍了Android多线程断点续传下载实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Android 插件化处理方案详解

    Android 插件化处理方案详解

    这篇文章主要介绍了Android 插件化处理方案的相关资料,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-04-04
  • ListView的Adapter使用 之 初学ArrayAdapter String

    ListView的Adapter使用 之 初学ArrayAdapter String

    ListView是Android中经常会使用的东西,绑定数据对于初学者来说,尤其是刚接触编程的人来说,往往会觉得很难理解,我上大二的时候学的java,但是基本上相当于没有学,什么都没写过,真正接触编程就是开始上手学android,把这些记录下来,自己可以回头看下,也可以让新手更好的理解
    2013-06-06
  • Android-Okhttp的使用解析

    Android-Okhttp的使用解析

    okhttp是Android6.0推出的网络框架。这篇文章主要介绍了Android-Okhttp的使用解析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03

最新评论