gpt4 book ai didi

javascript - 我如何从 Android 中的 cordova 插件获取返回值?

转载 作者:行者123 更新时间:2023-11-30 01:20:41 24 4
gpt4 key购买 nike

我写了一个 Java 类,它是 cordova 插件的一部分,主要代码是:

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”的功能是什么,有人可以给我举个例子吗?

最佳答案

JS中的successCallback在从JAVA获取callbackContext.sendPluginResult(pluginResult)时执行。

sucessCallback 应该如下所示:

successCallback:function(event){ 
.... Do things with the 'event' object received from JAVA
}

“事件”对象是JAVA应答的对象。

关于javascript - 我如何从 Android 中的 cordova 插件获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com