我正在尝试在我的cordova应用程序中使用“Cordova Local-Notification Plugin”但没有成功。例如,以下内容不起作用:
console.log(now);
document.addEventListener('deviceready', function() {
var now = new Date().getTime(),
_5_sec_from_now = new Date(now + 5 * 1000);
console.log(now);
cordova.plugins.notification.local.schedule({
text:"Delayed Notification",
at:_5_sec_from_now,
led:"FF0000",
sound:null
});
}, false);
答案 0 :(得分:1)
deviceready
未开火检查您的index.html
中是否包含cordova.js
或phonegap.js
如果未加载Cordova,则不会触发该事件。
同时检查Xcode中的任何控制台错误。
您可以使用Safari来检查在真实设备上运行的Cordova应用程序。
更多信息:
在浏览器中工作时,deviceready
不会触发,它只会在真实设备上触发。这也意味着您无法在浏览器中轻松测试插件。
要解决此问题,您可以检测是否已加载cordova并自行调用和设置功能。</ p>
function setup() {
var now = new Date().getTime(),
_5_sec_from_now = new Date(now + 5 * 1000);
console.log(now);
// ** this will not work in browser **
cordova.plugins.notification.local.schedule({
text:"Delayed Notification",
at:_5_sec_from_now,
led:"FF0000",
sound:null
});
}
// check if codova is loaded
if (!!window.cordova){
// running on device
// wait for plugins to load
document.addEventListener('deviceready', setup, false);
}else{
// running in browser
// call setup anyway
setTimeout(setup, 200);
}