美文网首页
cordova 安卓插件向页面发送数据

cordova 安卓插件向页面发送数据

作者: 没头脑很不高兴 | 来源:发表于2018-06-25 19:43 被阅读0次

    cordova 是构建 hybrid 应用的框架,原理大概就是一个app里面嵌套了一个网页,通过网页和app之间的通信,达到普通网页不能实现的效果:比如获取到电池的信息,获取 wifi 的连接情况等

    网页 向 app 主动请求数据的代码在官方的demo里面就有,一个exec 函数带两个回调就解决了,只有网页端发起请求后,它类似于 http ,服务器才能返回信息,这是十分不方便的

    因为有的时候 app 里面会有一些数据会主动的发出来,而网页需要随时地去就收

    为了找这段代码,我找了大概一周的文档和技术博客

    话不多说, 看代码:

    这是写在插件里面的 java 代码
    关键部分的代码 是webView.loadUrl("javascript:sendData(" + s + ");");
    这有点儿类似于直接写在 html 里面的j s 代码
    发送出去的数据是拼接成的一个符合 json 格式的字符串

    public void sendMsg(final String dataType, final String data) {
            cordova.getActivity().runOnUiThread(new Runnable() {
                public void run() {
                    String s = "{" + dataType + ":" + data + "}";
                    webView.loadUrl("javascript:sendData(" + s + ");");
                }
            });
        }
    

    这是在网页中的 js 代码

    window.sendMsg = function(data) {
      // 这里就拿到数据了
    }
    

    相关文章

      网友评论

          本文标题:cordova 安卓插件向页面发送数据

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