我有一个问题,我在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;
}
我希望你能帮助我或者更好地理解!
答案 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)