今天在开发phonegap的插件的时候在调用cordova.exec()时遇到了错误
后来通过在网络上的查询发现原来是在调用cordova.exec()时,phonegap的本地API还没初始化完毕的问题。
因此可以等phonegap的所有本地api都已准备好后再调用。
解决方法:使用deviceready事件通知应用,设备就绪,phonegap的所有本地api都已准备好在调用自己的cordova.exec()。
代码如下:
window.onload=function(){
document.addEventListener("deviceready", myDeviceReadyListener, false);
function myDeviceReadyListener(){
window.echo = function(str, callback) {
ordova.exec(callback, function(err) {callback('Nothing to echo.');}, "Echo", "echo", [str]);
};
window.echo("echome", function(echoValue) {
alert(echoValue == "echome"); // should alert true.
});
}
}
本文介绍了在使用PhoneGap开发插件时遇到的问题及解决方法。主要讨论了如何正确调用cordova.exec(),确保PhoneGap的所有本地API初始化完成。通过监听deviceready事件来避免API未准备好的错误。
922

被折叠的 条评论
为什么被折叠?



