添加额外的args到cordova.exec函数

时间:2018-06-08 00:04:43

标签: android cordova ionic-framework

我有一个问题,我在cordova中使用插件,但我需要传递2个args,我想知道这个结构是否可以在exec函数内部

我需要添加" [str2]"

cordova.exec(callback, function(err) {
        callback('Nothing to echo.');
    }, "Echo", "echo", [str], [str2]);

Android:我需要添加JSONArray args2

 public boolean execute(String action, JSONArray args, JSONArray args2,CallbackContext callbackContext) throws JSONException {
    //..
        } catch (Exception e) {
          callbackContext.error("Error");
        }
        return true;
    }
    return false;
}

我希望你能帮助我或者更好地理解!

2 个答案:

答案 0 :(得分:2)

您可以在数组中传递任意数量的args,如下所示。

 cordova.exec(callback, function(err) {
    callback('Nothing to echo.');
 }, "Echo", "echo", [arg1, arg2, arg3,....]);

在Android中访问代码时,您可以将其作为

public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
    data1 = args.optString(0);
    data2 = args.optString(1);
    .
    .
    .
    } catch (Exception e) {
      callbackContext.error("Error");
    }
    return true;
}
return false;
}

答案 1 :(得分:1)

args是一个数组,所以如果你需要有几个参数,只需将这些参数放在数组中,而不是试图添加第二个只包含一个元素的数组:

cordova.exec(callback, function(err) {
        callback('Nothing to echo.');
    }, "Echo", "echo", [str, str2]);

然后在java端,您可以通过args.optString(0)args.optString(1)

获取字符串