美文网首页
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