js中,调用phonegap.exec方法时,传入两个回调方法,success和faile。其方法实体大概如下
function setSuccess(entry) { alert("set success:" + entry); } function setError(error) { alert("set error:" + error); }
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException { return false; }
若返回值是false,则返回到faile回调方法,默认错误原因是 无效的action,如图:
在运行正确时,返回true,如果需要返回数值(字符串,对象等),可以用PluginResult,代码如下:
PluginResult mPlugin = new PluginResult(PluginResult.Status.OK, wo); mPlugin.setKeepCallback(true); callbackContext.sendPluginResult(mPlugin);使用这样的代码,返回值依然为true,则结果如图:可以看到是执行了success的回调方法。
出错了,如果是其他错误,可以这样写:
PluginResult mPlugin = new PluginResult(PluginResult.Status.ERROR, wo); mPlugin.setKeepCallback(true); callbackContext.sendPluginResult(mPlugin);返回值是false,则图为:可以看出,执行了faile的回调方法。
看来无论是给success回调,还是faile回调,都需要return true才行。