【问题标题】:How can I return a string from a cordova custom plugin如何从科尔多瓦自定义插件返回字符串
【发布时间】:2025-12-26 18:00:15
【问题描述】:

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

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

【问题讨论】:

    标签: java cordova phonegap-plugins cordova-plugins


    【解决方案1】:

    对于 Android 和 iOS,以下是在 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);
    

    【讨论】:

    • 我见过的最佳答案!谢谢!
    最近更新 更多