美文网首页
android无法传递给js数据问题

android无法传递给js数据问题

作者: 达布遛 | 来源:发表于2019-12-06 18:20 被阅读0次

    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);
    

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

    相关文章

      网友评论

          本文标题:android无法传递给js数据问题

          本文链接:https://www.haomeiwen.com/subject/uiiegctx.html