android无法传递给js数据问题

webview上android原生可以获取到js传递的数据,并获取其方法,在往JS传递数据时js方却接收不到。

需求是拦截js方法的同时再给js传递一个token数据。

最终解决方案是1.

@JavascriptInterface
public void triggerPostAuth(String c) {
ToastUtil.showLongToast(c);
String nzothToken = SpUtils.getInstance().getString("nzothToken", "");
     runOnUiThread(new Runnable() {
     @Override
        public void run() {
LogUtils.e("callbackPostAuth:==="+"javascript:callbackPostAuth(" +"'"+nzothToken+"'" +")");
            mWebView.loadUrl("javascript:callbackPostAuth('"+nzothToken+"')");
        }
});}

第一点要注意的是接收到js传递的方法和参数要再传递给js参数时要在runOnuiThread 的里执行,否则是提不到js上的。

2.需要设置websetting。

//设置支持DomStorage
        mWebView.getSettings().setDomStorageEnabled(true);

网上一些资料基本没有说到重点。
如果正巧解决你的焦头烂额,那就给个赞吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 10,687评论 1 23
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,226评论 2 7
  • AndroidWebView 一、简介 WebView在Android平台上是一个特殊的View, 基于webki...
    斌林诚上阅读 5,939评论 0 5
  • 潋潋烟波,十里碧水,长潭映绛桃花锦。青桔点绿括苍山,初阳一缕腾沧海。 落落子民,一身赤胆,敢为天下家国事。慈颜傲骨...
    张味猪阅读 3,593评论 0 2

友情链接更多精彩内容