如何从科尔多瓦自定义插件返回字符串

Posted

技术标签:

【中文标题】如何从科尔多瓦自定义插件返回字符串【英文标题】:How can I return a string from a cordova custom plugin 【发布时间】:2015-09-06 19:08:03 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

对于 androidios,以下是在 Cordova 应用程序中将字符串从本机发送回 JS 层的方法:

Android (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(目标-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);

【讨论】:

我见过的最佳答案!谢谢!

以上是关于如何从科尔多瓦自定义插件返回字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何在科尔多瓦相机中保存自定义名称的照片

Cordova 如何从相机旋转图片

Cordova iOS 自定义插件:处理内存警告

如何使用科尔多瓦相机插件重播录制的视频?

如何将自定义平台添加到 Cordova 或 Phonegap

如何从科尔多瓦插件的服务中访问活动?