This plugin supports PhoneGap/Cordova apps running on both iOS and Android.
This plugin is meant to work with Cordova 3.5.0+.
-
Make sure you update your projects to Cordova iOS version 3.5.0+ before installing this plugin.
cordova platform update ios cordova platform update android
-
Install this plugin using PhoneGap/Cordova cli:
cordova plugin add https://github.com/wnyc/cordova-plugin-wakeuptimer.git
// all responses from the audio player are channeled through successCallback and errorCallback
// set wakeup timer
window.wakeuptimer.wakeup( successCallback,
errorCallback,
// a list of alarms to set
{
alarms : [{
type : 'onetime',
time : { hour : 14, minute : 30 },
extra : { message : 'json containing app-specific information to be posted when alarm triggers' },
message : 'Alarm has expired!'
}]
}
);
// set repeating wakeup timer
window.wakeuptimer.wakeup( successCallback,
errorCallback,
// a list of alarms to set
{
alarms : [{
type : 'repeating',
time : { minutes : 10 },
extra : { message : 'json containing app-specific information to be posted when alarm triggers' },
message : 'Alarm has expired!'
}]
}
);
// set timer, but skip launch if user is using the phone (screen is on)
window.wakeuptimer.wakeup( successCallback,
errorCallback,
// a list of alarms to set
{
alarms : [{
type : 'onetime',
skipOnAwake: true,
time : { hour : 12, minute : 10 },
extra : { message : 'json containing app-specific information to be posted when alarm triggers' },
message : 'Alarm has expired!'
}]
}
);
// set wakeup timer, but skip launch if app is already running
window.wakeuptimer.wakeup( successCallback,
errorCallback,
// a list of alarms to set
{
alarms : [{
type : 'onetime',
skipOnRunning: true,
time : { hour : 11, minute : 20 },
extra : { message : 'json containing app-specific information to be posted when alarm triggers' },
message : 'Alarm has expired!'
}]
}
);
// snooze...
window.wakeuptimer.snooze( successCallback,
errorCallback,
{
alarms : [{
type : 'snooze',
time : { seconds : 60 }, // snooze for 60 seconds
extra : { }, // json containing app-specific information to be posted when alarm triggers
message : this.get('message'),
sound : this.get('sound'),
action : this.get('action')
}]
}
);
// example of a callback method
var successCallback = function(result) {
if (result.type==='wakeup') {
console.log('wakeup alarm detected--' + result.extra);
} else if(result.type==='set'){
console.log('wakeup alarm set--' + result);
} else {
console.log('wakeup unhandled type (' + result.type + ')');
}
};