我正在创建显示调用日志的cordova应用程序,所以我制作了插件,并且我在 native java代码中获取调用日志,但我不知道如何将其传递回index.html。
这是我的插件 javascript
navigator.callslog= {};
navigator.callslog.show = function () { cordova.exec (null, null, "callslog", "show", []);};
这是我的插件的 java 代码
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext)
{
if (action.equals("show")) {
// get call logs
String calls = getCallDetails(callbackContext);
callbackContext.success();
Log.v("Calls", calls);
this.webView.postMessage("callsLog", "show");
} else {
return false;
}
callbackContext.success();
return true;
}
在index.js中,我调用插件,数据打印在logcat中,它可以工作,但我不知道如何获取数据并在index.html中表示
onDeviceReady: function() {
app.receivedEvent('deviceready');
console.log('Recevedod event ');
var callsLog= navigator.splashscreen.show();
}
谢谢大家
最佳答案
第一个参数是成功回调,第二个参数是失败回调。 而不是 null 和 null
你必须这样做
navigator.callslog.show = function () { cordova.exec (successcb, failcb, "callslog", "show", []);};
function successcb(s){
console.log(s);//what you passed from Java code
}
function failcb(e){
console.log("Err cb");
}
关于java - 如何在Android中将数据从cordova插件传递到index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24681907/