Notification
音、映像、バイブレーションで通知をお知らせします。
メソッド
notification.alert
通知ダイアログボックスを表示します。
navigator.notification.alert(message, alertCallback, [title], [buttonName])
-
message: ダイアログのメッセージです。 (
String
) -
alertCallback: 通知ダイアログが確認された後に呼び出されるコールバック関数です。 (
Function
) -
title: ダイアログのタイトルです。 (
String
) (Optional, Default: "Alert") -
buttonName: ボタンの表記です。 (
String
) (Optional, Default: "OK")
詳細
多くのPhoneGapの実装はネイティブダイアログボックスを使用しますが、特定のプラットフォームはブラウザの alert
関数を使います
(通常これらのカスタマイザビリティーは制限されます)。
サポートされているプラットフォーム
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0 以上)
- iPhone
使用例
// Android / BlackBerry WebWorks (OS 5.0 以上) / iPhone
//
function alertDismissed() {
// 任意のコード
}
navigator.notification.alert(
'メッセージ内容', // メッセージ
alertDismissed, // コールバック
'タイトル', // タイトル
'ボタン' // ボタン
);
// BlackBerry (OS 4.6) / webOS
//
navigator.notification.alert('メッセージ内容');
詳細な使用例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>通知機能の使用例</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// PhoneGapの読み込みを待機
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap準備完了
//
function onDeviceReady() {
// 空のコード
}
// 通知ダイアログ確認
function alertDismissed() {
// 任意のコード
}
// 通知ダイアログを表示
//
function showAlert() {
navigator.notification.alert(
'メッセージ内容', // メッセージ
alertDismissed, // コールバック
'タイトル', // タイトル
'ボタン' // ボタン
);
}
</script>
</head>
<body onload="onLoad()">
<p><a href="#" onclick="showAlert(); return false;">通知を表示</a></p>
</body>
</html>
notification.confirm
カスタマイズ可能な認証ダイアログボックスを表示します。
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
-
message: ダイアログのメッセージです。 (
String
) -
confirmCallback: - 押されたボタンのインデックス(1,2,3...)とともに呼び出されるコールバック関数です。 (
Number
) -
title: ダイアログのタイトルです。(
String
) (Optional, Default: "Confirm") -
buttonLabels: ボタンのラベルを設定するためのカンマ区切りのStringです。 (
String
) (Optional, Default: "OK,Cancel")
概要
notification.confirm
はブラウザの confirm
関数よりも広いカスタマイズ性を持ったネイティブダイアログボックスを表示する関数です。
サポートされているプラットフォーム
- Android
- BlackBerry WebWorks (OS 5.0 以上)
- iPhone
使用例
// 確認ダイアログの表示プロセスの開始
function onConfirm(button) {
alert('選択されたボタン ' + button);
}
// 確認ダイアログを表示
//
function showConfirm() {
navigator.notification.confirm(
'メッセージの内容', // メッセージ
onConfirm, // 選択されたボタンによって呼ばれるコールバック
'タイトルの内容', // タイトル
'ボタンの内容' // ボタン
);
}
詳細な使用例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>通知機能の使用例</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// PhoneGapの読み込みを待機
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap準備完了
//
function onDeviceReady() {
// 空のコード
}
// 確認ダイアログの表示プロセスの開始
function onConfirm(button) {
alert('選択されたボタン ' + button);
}
// 確認ダイアログの表示
//
function showConfirm() {
navigator.notification.confirm(
'メッセージの内容', // メッセージ
onConfirm, // 選択されたボタンによって呼ばれるコールバック
'タイトルの内容', // タイトル
'ボタンの内容' // ボタン
);
}
</script>
</head>
<body onload="onLoad()">
<p><a href="#" onclick="showConfirm(); return false;">確認</a></p>
</body>
</html>
notification.beep
デバイスに警告音を流します。
navigator.notification.beep(times);
-
times: 警告音を流す回数です。 (
Number
)
サポートされているプラットフォーム
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0 以上)
- iPhone
使用例
// 警告音を2回鳴らします。
navigator.notification.beep(2);
詳細な使用例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>通知機能の使用例</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// PhoneGapの読み込みを待機
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap準備完了
//
function onDeviceReady() {
// 空のコード
}
// 通知を表示します。
//
function showAlert() {
navigator.notification.alert(
'メッセージの内容', // メッセージ
'タイトルの内容', // タイトル
'ボタンの内容' // ボタン
);
}
// 警告音を3回鳴らします。
//
function playBeep() {
navigator.notification.beep(3);
}
// 2秒間バイブレーションを鳴らします。
//
function vibrate() {
navigator.notification.vibrate(2000);
}
</script>
</head>
<body onload="onLoad()">
<p><a href="#" onclick="showAlert(); return false;">通知を表示</a></p>
<p><a href="#" onclick="playBeep(); return false;">警告音を鳴らす</a></p>
<p><a href="#" onclick="vibrate(); return false;">バイブレーション</a></p>
</body>
</html>
Android に関する注意点
- Androidは"Settings/Sound & Display"パネルで設定されたデフォルトの"Notification ringtone"を流します。
iPhone に関する注意点
- 引数
beep count
を無視します。 - iPhoneはネイティブのbeep APIを持っていません。
- そのため、PhoneGapはmedia APIを使って警告音をオーディオファイルを再生することで実行します。適当な警告音のファイルを使用してください。
- この際のファイルは30秒未満とし、www/root に、
beep.wav
として保存してください。
notification.vibrate
設定された時間分、デバイスのバイブレーションを実行します。
navigator.notification.vibrate(milliseconds)
-
time: バイブレーションの長さを表すミリ秒単位の数値です。 (
Number
)
サポートされているプラットフォーム
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0 以上)
- iPhone
使用例
// 2.5秒間バイブレーションを鳴らします。
//
navigator.notification.vibrate(2500);
詳細な使用例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>通知機能の使用例</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// PhoneGapの読み込みを待機
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap準備完了
//
function onDeviceReady() {
// 空のコード
}
// 通知を表示
//
function showAlert() {
navigator.notification.alert(
'メッセージの内容', // メッセージ
'タイトルの内容', // タイトル
'ボタンの内容' // ボタン
);
}
// 警告音を3回鳴らします。
//
function playBeep() {
navigator.notification.beep(3);
}
// 2秒間バイブレーションを鳴らします。
//
function vibrate() {
navigator.notification.vibrate(2000);
}
</script>
</head>
<body onload="onLoad()">
<p><a href="#" onclick="showAlert(); return false;">通知を表示</a></p>
<p><a href="#" onclick="playBeep(); return false;">警告音を鳴らす</a></p>
<p><a href="#" onclick="vibrate(); return false;">バイブレーション</a></p>
</body>
</html>
iPhone に関する注意点
-
time:
time
の設定を無視し、iPhoneであらかじめ定められた時間バイブレーションを流します。navigator.notification.vibrate(); navigator.notification.vibrate(2500); // 2500 は無視されます。