我如何 return 来自 cordova 自定义插件的字符串
How can I return a string from a cordova custom plugin
在 cordova 中创建自定义插件时,执行方法的 return 类型是布尔值,但对于我的应用程序,我希望某些 String 类型被 returned,我可以在我的 javascript。但是由于 return 类型是布尔值,我无法这样做。
有什么方法可以 return 从该执行方法中获得一些价值吗?
对于 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 (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];
}
插件桥(Java脚本)
MyPlugin = {
myAction: function(success, error){
cordova.exec(success, error, "MyPlugin", "myAction", []);
}
}
module.exports = MyPlugin;
您的应用程序(Java脚本)
function success(myString){
alert(myString);
}
function error(error){
alert(JSON.stringify(error));
}
MyPlugin.myAction(success, error);
在 cordova 中创建自定义插件时,执行方法的 return 类型是布尔值,但对于我的应用程序,我希望某些 String 类型被 returned,我可以在我的 javascript。但是由于 return 类型是布尔值,我无法这样做。
有什么方法可以 return 从该执行方法中获得一些价值吗?
对于 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 (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];
}
插件桥(Java脚本)
MyPlugin = {
myAction: function(success, error){
cordova.exec(success, error, "MyPlugin", "myAction", []);
}
}
module.exports = MyPlugin;
您的应用程序(Java脚本)
function success(myString){
alert(myString);
}
function error(error){
alert(JSON.stringify(error));
}
MyPlugin.myAction(success, error);