java - 如何从 cordova 自定义插件返回一个字符串

标签 java cordova phonegap-plugins cordova-plugins

在 cordova 中创建自定义插件时,执行方法的返回类型是 boolean 值,但对于我的应用程序,我希望返回一些可以在我的 javascript 中使用的字符串类型。但是由于返回类型是 boolean 值,我无法这样做。

有什么方法可以从该执行方法返回一些值吗?

最佳答案

对于 Android 和 iOS,以下是您将字符串从原生发送回 Cordova 应用程序中的 JS 层的方法:

安卓(Java)

public class MyPlugin extends CordovaPlugin {
    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
        String myString = "Some string";
        callbackContext.success(myString);
        return true;
    }
}

iOS( objective-c )

@implementation MyPlugin

- (void) myAction:(CDVInvokedUrlCommand*)command {
    NSString* myString = @"Some string";

    CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:myString];
    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}

插件桥(Javascript)

MyPlugin = {
    myAction: function(success, error){
        cordova.exec(success, error, "MyPlugin", "myAction", []);
    }
}
module.exports = MyPlugin;

您的应用 (Javascript)

function success(myString){
    alert(myString);
}

function error(error){
    alert(JSON.stringify(error));
}

MyPlugin.myAction(success, error);

关于java - 如何从 cordova 自定义插件返回一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32427219/

相关文章:

java - 连接符合规范的表

android - 将 cordova 项目升级到 visual studio 2015 后,Ripple 找不到 config.xml

android - Cordova FileOpener Android - 找不到本地文件位置

java - 在 phonegap 应用程序和 native java 应用程序之间共享 SQlite 数据库

java - 非法状态异常 : Cannot convert value of type LdapTemplate to LdapTemplate

java - 为什么 eclipse 默认在 apache 8080 上运行我的项目

java - 当我在下面的代码中的第 1 行生成 "j<0"时,为什么我没有得到输出?

android - cordova构建android给出错误 "The system cannot find the path specified."

ipad - Apple 的 App Store 是否接受需要用户登录的应用程序?

cordova - 迷失在 Ionic、Cordova 等混合应用框架中,