設備的視覺、聽覺和觸覺通知。
方法:
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> www.2cto.com
<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>
復制代碼
notification.confirm
顯示一個可定制的確認對話框。
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>
復制代碼notification.beep設備將發出蜂鳴聲。
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。
notification.vibrate
使設備震動指定的時長。
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:忽略時長參數,震動時長為預先設定值。
簡單的范例:
<span style="font-size:13px;">navigator.notification.vibrate();
navigator.notification.vibrate(2500); // 2500被忽略掉</span>