アラームを設定/通知する

説明

アラームを設定/通知するには、まずmanifest.webappファイルのpermissionsを設定しておく必要があります。そこでalarmsを指定しdescriptionに使用目的などを書いておきます。(descriptionは何でもよい)
次にnavigator.mozAlarms.add()を使ってアラームを設定します。add()メソッドの最初のパラメーターにはアラーム発生時刻を指定します。2番目のパラメーターにはタイムゾーンを考慮するかしないかを指定します。考慮しない場合は"ignoreTimezone"を、考慮する場合は"honorTimezone"の文字列を指定します。3番目のパラメーターにはイベントハンドラに渡すデータを指定します。add()メソッドは設定されたアラーム情報を持つオブジェクトを返します。
add()メソッドによるアラーム時刻の設定が完了するとsuccessイベントが発生します。onsuccessプロパティに成功時に呼び出すイベントハンドラを設定します。
アラームで設定した時刻になるとalarmイベントが発生します。このイベントはnavigatorオブジェクトのmozSetMessageHandler()を使って検知します。mozSetMessageHandler()の最初のパラメーターには"alarm"、2番目のパラメーターにイベントハンドラ(関数)を指定します。イベントハンドラにはnavigator.mozAlarms.add()の3番目のパラメーターで設定したデータ(オブジェクト)が渡されます。
Alarm APIについてはMDNのAlarm APIのページを参照してください。

[サンプルをダウンロード]

ポイントとなるコード部分

// アラーム設定
var request = navigator.mozAlarms.add(
	(new Date()).getTime()+ 60*1000,	// 1分後に設定
	"ignoreTimezone",	// タイムゾーンは考慮しない
	"起きろ〜!"
);
// 設定に成功した場合
request.onsuccess = function(){
	alarmMsg.innerHTML = "アラームを設定しました";
}
// アラーム通知イベントが発生した場合
navigator.mozSetMessageHandler("alarm", function(mozAlarm) {
	alert(mozAlarm.data);	// アラートを表示する
	alarmMsg.innerHTML = mozAlarm.data;
});