使用cordovaplugin怎么给activity返回数据

 我来答
匿名用户
推荐于2018-04-26
展开全部
js中,调用phonegap.exec方法时,传入两个回调方法,success和faile。其方法实体大概如下

[javascript] view plaincopyprint?
function setSuccess(entry) {
alert("set success:" + entry);

}

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

}

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

[java] view plaincopyprint?
public boolean execute(String action, CordovaArgs args,
CallbackContext callbackContext) throws JSONException {
return false;
}

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

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

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

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

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

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

点击确定后,还会有

看来无论是给success回调,还是faile回调,都需要return true才行。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式