2015-09-06 22 views
1

返回一個字符串在創建科爾多瓦自定義插件的執行梅索德的返回類型是布爾型,但我的應用我想通過一些String類型要返回,我可以在我的JavaScript中使用。但作爲返回類型是布爾型,我不能這樣做。我怎樣才能從科爾多瓦定製插件

有沒有什麼辦法可以返回來自該execute方法一定的價值?

回答

4

對於Android和iOS,這裏是如何你會從本機在科爾多瓦的應用程序發送一個字符串返回給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); 
+0

最佳答案我見過!謝謝! – Edgar