gpt4 book ai didi

android - Cordova 插件 - Javascript 从 native 代码接收消息

转载 作者:行者123 更新时间:2023-11-29 21:03:40 25 4
gpt4 key购买 nike

如以下文档所示:http://docs.phonegap.com/en/3.5.0/guide_platforms_android_plugin.md.html#Android%20Plugins

我覆盖了一个方法

 @Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if ("beep".equals(action)) {
this.beep(args.getLong(0));
callbackContext.success();
return true;
}
return false; // Returning false results in a "MethodNotFound" error.
}

然后像这样从 Javascript 中调用它:

cordova.exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]);

上面的 java native 代码只返回一个 bool 结果。如何让它返回一个字符串(或 JSON)并让 cordova.exec() 接收它?

p/s:我想使用 java native 代码从电子邮件中读取 JSON 字符串(项目列表)。它将返回到 Javascript 代码以呈现到 Sencha Touch 中的列表

最佳答案

您所链接的文档页面中提供了您问题的答案。检查页面上的最后一个代码示例:

private void echo(String message, CallbackContext callbackContext) {
if (message != null && message.length() > 0) {
callbackContext.success(message); //<-THIS LINE
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}

根据文档:“callbackContext.success() 将原始消息字符串作为参数传递回 JavaScript 的成功回调。”

所以在 JS 中,如果你定义成功回调函数如下:

function onSuccess(message){
console.log(message);
}

并调用它:

cordova.exec(onSuccess, ...)

它应该在成功时输出传递的 message 字符串参数的内容。

关于android - Cordova 插件 - Javascript 从 native 代码接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25196254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com