Javascript 如何从Android中的cordova插件获取返回值?
我编写了一个Java类,它是cordova插件的一部分,主要代码是:Javascript 如何从Android中的cordova插件获取返回值?,javascript,java,android,cordova,Javascript,Java,Android,Cordova,我编写了一个Java类,它是cordova插件的一部分,主要代码是: public class ClassName extends CordovaPlugin { protected void pluginInitialize() {} public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if (action
public class ClassName extends CordovaPlugin {
protected void pluginInitialize() {}
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals("getData")) {
CallbackContext callback = null;
Test ts = new Test();
String result = ts.TestNow();
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, result);
pluginResult.setKeepCallback(true);
callbackContext.sendPluginResult(pluginResult);
return true;
}
return false;
}
}
这是插件的js代码:
cordova.define("cordova-plugin-NAME.PLUGINNAME", function(require, exports, module) {
module.exports = {
getdata: function(message, successCallback) {
cordova.exec(successCallback, null, "ClassName", "getData", [message]);
}
};
});
这是我用来调用插件函数的js:
function myFunc(){
alert('Function started');
ClassName.getdata(successCallback, null);
}
document.addEventListener('DOMContentLoaded', function(){
document.getElementById('test').addEventListener('click', myFunc);
});
我有两个问题:
1) 我的java类在输出字符串结果时,如何将结果传递给javascript函数(myfunc())
2) 我不明白“successCallback”的功能是什么,有人能给我举个例子吗?从JAVA检索callbackContext.sendPluginResult(pluginResult)时会执行JS中的successCallback SuccessCallback应该如下所示:
successCallback:function(event){
.... Do things with the 'event' object received from JAVA
}
“event”对象是从JAVA应答的对象。看看,我几天前就应答了,它与您的请求非常相似: