这是我在java插件中测试代码的一部分(我正在使用phonegap 2.7 )。
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
try {
String[] result;
result = new String[10];
result[0] = "test1 success";
result[1] = "test2 success";
callbackContext.success(result); //error
} catch(Exception ee) {
System.out.print("ee:"+ee.getMessage());
}
return true;
}
我的问题是:
如何从android phonegap插件返回数组,以便我可以在javascript中获取数组?
哪种数据类型要比返回的数组(JSONArray?)好?
感谢
答案 0 :(得分:7)
PluginResult 类是您的朋友:
public PluginResult(Status status, JSONObject message) {
this.status = status.ordinal();
this.message = (message != null) ? message.toString(): "null";
}
或
public PluginResult(Status status, String message) {
this.status = status.ordinal();
this.message = JSONObject.quote(message);
}
在您的情况下,它接受json对象或字符串。所以要返回一个需要的json数组
JSONObject json = new JSONObject();
json.put("foo", "bar");
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, json));