phonegag的CordovaPlugin返回数据给js的回调方法

js中,调用phonegap.exec方法时,传入两个回调方法,success和faile。其方法实体大概如下

	                function setSuccess(entry) {
				alert("set success:" + entry);

			}

			function setError(error) {
				alert("set error:" + error);

			}

而java方法中,其方法实体为

public boolean execute(String action, CordovaArgs args,
			CallbackContext callbackContext) throws JSONException {
		return false;
	}

其返回值是boolean类型,返回true,则正确执行,界面无响应;

若返回值是false,则返回到faile回调方法,默认错误原因是 无效的action,如图:



在运行正确时,返回true,如果需要返回数值(字符串,对象等),可以用PluginResult,代码如下:

PluginResult mPlugin = new PluginResult(PluginResult.Status.OK,
						wo);
				mPlugin.setKeepCallback(true);
				callbackContext.sendPluginResult(mPlugin);
使用这样的代码,返回值依然为true,则结果如图:可以看到是执行了success的回调方法。

phonegag的CordovaPlugin返回数据给js的回调方法_第1张图片

出错了,如果是其他错误,可以这样写:

PluginResult mPlugin = new PluginResult(PluginResult.Status.ERROR,
						wo);
				mPlugin.setKeepCallback(true);
				callbackContext.sendPluginResult(mPlugin);
返回值是false,则图为:可以看出,执行了faile的回调方法。

phonegag的CordovaPlugin返回数据给js的回调方法_第2张图片
点击确定后,还会有


看来无论是给success回调,还是faile回调,都需要return true才行。


你可能感兴趣的:(phonegag的CordovaPlugin返回数据给js的回调方法)