“ | 設備的視覺、聽覺和觸覺通知。 |
方法:
- notification.alert
- notification.confirm
- notification.beep
- notification.vibrate
notification.alert |
顯示一個定製的警告或對話框。
navigator.notification.alert(message, alertCallback, [title], [buttonName]);
- message:對話框信息。(字符串類型)
- alertCallback:當警告對話框被忽略時調用的回調函數。(函數類型)
- title:對話框標題。(字符串類型)(可選項,默認值爲“Alert”)
- buttonName:按鈕名稱(字符串類型)(可選項,默認值爲“OK”)
說明:
大多數PhoneGap使用本地對話框實現該功能。然而,一些平臺只是簡單的使用瀏覽器的alert函數,而這種方法通常是不能定製的。
支持的平臺:
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// Android / BlackBerry WebWorks (OS 5.0 and higher) // iPhone
function alertDismissed() {
// 進行處理
}
navigator.notification.alert(
'You are the winner!', // 顯示信息
alertDismissed, // 警告被忽視的回調函數
'Game Over', // 標題
'Done' // 按鈕名稱
);
// BlackBerry (OS 4.6) // webOS
navigator.notification.alert('You are the winner!');
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Notification Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
function onDeviceReady() {
// 空
}
// 警告對話框被忽視
function alertDismissed() {
// 進行處理
}
// 顯示一個定製的警告框
function showAlert() {
navigator.notification.alert(
'You are the winner!', // 顯示信息
alertDismissed, // 警告被忽視的回調函數
'Game Over', // 標題
'Done' // 按鈕名稱
);
}
</script>
</head>
<body>
<p><a href="#" onclick="showConfirm(); return false;">Show Confirm</a></p>
</body>
</html>
顯示一個可定製的確認對話框。
navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels]);
- message:對話框信息。(字符串類型)
- confirmCallback:按下按鈕後觸發的回調函數,返回按下按鈕的索引(1、2或3)。(函數類型)
- title:對話框標題。(字符串類型)(可選項,默認值爲“Confirm”)
- buttonLabels:逗號分隔的按鈕標籤字符串。(字符串類型)(可選項,默認值爲“OK、Cancel”)
說明:
notification.confirm函數顯示一個定製性比瀏覽器的confirm函數更好的本地對話框。
支持的平臺:
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// 處理確認對話框返回的結果
function onConfirm(button) {
alert('You selected button ' + button);
}
// 顯示一個定製的確認對話框
function showConfirm() {
navigator.notification.confirm(
'You are the winner!', // 顯示信息
onConfirm, // 按下按鈕後觸發的回調函數,返回按下按鈕的索引
'Game Over', // 標題
'Restart,Exit' // 按鈕標籤
);
}
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Notification Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
function onDeviceReady() {
// 空
}
// 處理確認對話框返回的結果
function onConfirm(button) {
alert('You selected button ' + button);
}
// 顯示一個定製的確認對話框
function showConfirm() {
navigator.notification.confirm(
'You are the winner!', // 顯示信息
onConfirm, // 按下按鈕後觸發的回調函數,返回按下按鈕的索引
'Game Over', // 標題
'Restart,Exit' // 按鈕標籤
);
}
</script>
</head>
<body>
<p><a href="#" onclick="showConfirm(); return false;">Show Confirm</a></p>
</body>
</html>
設備將發出蜂鳴聲。
navigator.notification.beep(times);
- times:蜂鳴聲的重複次數。(數字類型)
支持的平臺:
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// 蜂鳴2次!
navigator.notification.beep(2);
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Notification Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
function onDeviceReady() {
// 空
}
// 顯示一個定製的警告框
function showAlert() {
navigator.notification.alert(
'You are the winner!', // 顯示信息
'Game Over', // 標題
'Done' // 按鈕名稱
);
}
// 蜂鳴三次
function playBeep() {
navigator.notification.beep(3);
}
// 震動兩秒
function vibrate() {
navigator.notification.vibrate(2000);
}
</script>
</head>
<body>
<p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
<p><a href="#" onclick="playBeep(); return false;">Play Beep</a></p>
<p><a href="#" onclick="vibrate(); return false;">Vibrate</a></p>
</body>
</html>
Android的特異情況:
- Androids會播放在“設置/音效及顯示”面板中指定的默認“通知鈴聲”。
iPhone的特異情況:
- 忽略蜂鳴次數參數。
- iPhone沒有本地的蜂鳴API。
- PhoneGap通過多媒體API播放音頻文件來實現蜂鳴。
- 用戶必須提供一個包含所需的蜂鳴聲的文件。
- 此文件播放時長必須短於30秒,位於www/root,並且必須命名爲beep.wav。
使設備震動指定的時長。
navigator.notification.vibrate(milliseconds);
- time:以毫秒爲單位的設備震動時長,1000毫秒爲1秒。(數字類型)
支持的平臺:
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡單的範例:
// 震動2.5秒
navigator.notification.vibrate(2500);
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Notification Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加載PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加載完畢
function onDeviceReady() {
//空
}
// 顯示定製警告框
function showAlert() {
navigator.notification.alert(
'You are the winner!', // 顯示信息
'Game Over', // 標題
'Done' // 按鈕名稱
);
}
// 響三次
function playBeep() {
navigator.notification.beep(3);
}
// 震動兩秒
function vibrate() {
navigator.notification.vibrate(2000);
}
</script>
</head>
<body>
<p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
<p><a href="#" onclick="playBeep(); return false;">Play Beep</a></p>
<p><a href="#" onclick="vibrate(); return false;">Vibrate</a></p>
</body>
</html>
iPhone的特異情況:
- time:忽略時長參數,震動時長爲預先設定值。
navigator.notification.vibrate();
navigator.notification.vibrate(2500); // 2500被忽略掉
更多信息參考:
PhoneGap中國:www.phonegap.cn
中文討論組:groups.google.com/group/PhoneGapCN