使用cordovaplugin怎么给activity返回数据
1个回答
推荐于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才行。
[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才行。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询