【问题标题】:How to pass data from cordova plugin to index.html in Android如何将数据从cordova插件传递到Android中的index.html
【发布时间】:2014-07-10 16:34:21
【问题描述】:

我正在创建 Cordova 应用程序,女巫正在显示通话记录,所以我制作插件,并在本机 Java 代码中获取通话记录,但我不知道如何将其传递回 index.html。

这是我的插件 javascript

 navigator.callslog= {};
 navigator.callslog.show = function () { cordova.exec (null, null, "callslog", "show", []);};

这是我的插件的java代码

 @Override
 public boolean execute(String action, JSONArray args, CallbackContext callbackContext)
 {

        if (action.equals("show")) {
            // get call logs

            String calls = getCallDetails(callbackContext);
            callbackContext.success();
            Log.v("Calls", calls);

            this.webView.postMessage("callsLog", "show");
        } else {
            return false;
        }
        callbackContext.success();
        return true;
 }

在 index.js 中,我调用插件并在 logcat 中打印数据,它可以工作,但我不知道如何获取数据并在 index.html 中表示

onDeviceReady: function() {
    app.receivedEvent('deviceready');

    console.log('Recevedod event ');

    var callsLog= navigator.splashscreen.show();
}

谢谢大家

【问题讨论】:

    标签: java javascript android cordova


    【解决方案1】:

    第一个参数是成功回调,第二个参数是失败回调。 而不是 null 和 null

    你必须这样做

    navigator.callslog.show = function () { cordova.exec (successcb, failcb, "callslog", "show", []);};
    
    function successcb(s){
    console.log(s);//what you passed from Java code
    }
    
    function failcb(e){
    console.log("Err cb");
    }
    

    【讨论】:

      【解决方案2】:

      将字符串作为参数传递给 callbackContext.success() 方法

      callbackContext.success(calls);

      【讨论】:

      • 谢谢,但是在 java 脚本中我怎样才能得到它?
      猜你喜欢
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 2017-04-29
      相关资源
      最近更新 更多