PhoneGap API介紹:Notification
作者:佚名
本文將介紹PhoneGap API——Notification:設(shè)備的視覺、聲音和觸覺提醒。PhoneGap API Notification設(shè)備的視覺、聽覺和觸覺通知。
方法:
- 顯示一個(gè)定制的警告或?qū)υ捒颉?/li>
- navigator.notification.alert(message, alertCallback, [title], [buttonName]);
- message:對(duì)話框信息。(字符串類型)
- alertCallback:當(dāng)警告對(duì)話框被忽略時(shí)調(diào)用的回調(diào)函數(shù)。(函數(shù)類型)
- title:對(duì)話框標(biāo)題。(字符串類型)(可選項(xiàng),默認(rèn)值為“Alert”)
- buttonName:按鈕名稱(字符串類型)(可選項(xiàng),默認(rèn)值為“OK”)
說(shuō)明:
- 大多數(shù)PhoneGap使用本地對(duì)話框?qū)崿F(xiàn)該功能。然而,一些平臺(tái)只是簡(jiǎn)單的使用瀏覽器的alert函數(shù),而這種方法通常是不能定制的。
支持的平臺(tái):
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡(jiǎn)單的范例:
- // Android / BlackBerry WebWorks (OS 5.0 and higher) // iPhone
- function alertDismissed() {
- // 進(jìn)行處理
- }
- navigator.notification.alert(
- 'You are the winner!', // 顯示信息
- alertDismissed, // 警告被忽視的回調(diào)函數(shù)
- 'Game Over', // 標(biāo)題
- '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() {
- // 空
- }
- // 警告對(duì)話框被忽視
- function alertDismissed() {
- // 進(jìn)行處理
- }
- // 顯示一個(gè)定制的警告框
- function showAlert() {
- navigator.notification.alert(
- 'You are the winner!', // 顯示信息
- alertDismissed, // 警告被忽視的回調(diào)函數(shù)
- 'Game Over', // 標(biāo)題
- 'Done' // 按鈕名稱
- );
- }
- </script>
- </head>
- <body>
- <p><a href="#" onclick="showConfirm(); return false;">Show Confirm</a></p>
- </body>
- </html>
- 顯示一個(gè)可定制的確認(rèn)對(duì)話框。
- navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels]);
- message:對(duì)話框信息。(字符串類型)
- confirmCallback:按下按鈕后觸發(fā)的回調(diào)函數(shù),返回按下按鈕的索引(1、2或3)。(函數(shù)類型)
- title:對(duì)話框標(biāo)題。(字符串類型)(可選項(xiàng),默認(rèn)值為“Confirm”)
- buttonLabels:逗號(hào)分隔的按鈕標(biāo)簽字符串。(字符串類型)(可選項(xiàng),默認(rèn)值為“OK、Cancel”)
說(shuō)明:
- notification.confirm函數(shù)顯示一個(gè)定制性比瀏覽器的confirm函數(shù)更好的本地對(duì)話框。
支持的平臺(tái):
- Android
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡(jiǎn)單的范例:
- // 處理確認(rèn)對(duì)話框返回的結(jié)果
- function onConfirm(button) {
- alert('You selected button ' + button);
- }
- // 顯示一個(gè)定制的確認(rèn)對(duì)話框
- function showConfirm() {
- navigator.notification.confirm(
- 'You are the winner!', // 顯示信息
- onConfirm, // 按下按鈕后觸發(fā)的回調(diào)函數(shù),返回按下按鈕的索引
- 'Game Over', // 標(biāo)題
- 'Restart,Exit' // 按鈕標(biāo)簽
- );
- }
完整的范例:
- <!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() {
- // 空
- }
- // 處理確認(rèn)對(duì)話框返回的結(jié)果
- function onConfirm(button) {
- alert('You selected button ' + button);
- }
- // 顯示一個(gè)定制的確認(rèn)對(duì)話框
- function showConfirm() {
- navigator.notification.confirm(
- 'You are the winner!', // 顯示信息
- onConfirm, // 按下按鈕后觸發(fā)的回調(diào)函數(shù),返回按下按鈕的索引
- 'Game Over', // 標(biāo)題
- 'Restart,Exit' // 按鈕標(biāo)簽
- );
- }
- </script>
- </head>
- <body>
- <p><a href="#" onclick="showConfirm(); return false;">Show Confirm</a></p>
- </body>
- </html>
- 設(shè)備將發(fā)出蜂鳴聲。
- navigator.notification.beep(times);
- times:蜂鳴聲的重復(fù)次數(shù)。(數(shù)字類型)
支持的平臺(tái):
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡(jiǎn)單的范例:
- // 蜂鳴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() {
- // 空
- }
- // 顯示一個(gè)定制的警告框
- function showAlert() {
- navigator.notification.alert(
- 'You are the winner!', // 顯示信息
- 'Game Over', // 標(biāo)題
- 'Done' // 按鈕名稱
- );
- }
- // 蜂鳴三次
- function playBeep() {
- navigator.notification.beep(3);
- }
- // 震動(dòng)兩秒
- 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會(huì)播放在“設(shè)置/音效及顯示”面板中指定的默認(rèn)“通知鈴聲”。
iPhone的特異情況:
- 忽略蜂鳴次數(shù)參數(shù)。
- iPhone沒有本地的蜂鳴API。
- PhoneGap通過(guò)多媒體API播放音頻文件來(lái)實(shí)現(xiàn)蜂鳴。
- 用戶必須提供一個(gè)包含所需的蜂鳴聲的文件。
- 此文件播放時(shí)長(zhǎng)必須短于30秒,位于www/root,并且必須命名為beep.wav。
- 使設(shè)備震動(dòng)指定的時(shí)長(zhǎng)。
- navigator.notification.vibrate(milliseconds);
- time:以毫秒為單位的設(shè)備震動(dòng)時(shí)長(zhǎng),1000毫秒為1秒。(數(shù)字類型)
支持的平臺(tái):
- Android
- BlackBerry (OS 4.6)
- BlackBerry WebWorks (OS 5.0或更高版本)
- iPhone
簡(jiǎn)單的范例:
- // 震動(dòng)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', // 標(biāo)題
- 'Done' // 按鈕名稱
- );
- }
- // 響三次
- function playBeep() {
- navigator.notification.beep(3);
- }
- // 震動(dòng)兩秒
- 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:忽略時(shí)長(zhǎng)參數(shù),震動(dòng)時(shí)長(zhǎng)為預(yù)先設(shè)定值。
簡(jiǎn)單的范例:
- navigator.notification.vibrate();
- navigator.notification.vibrate(2500); // 2500被忽略掉
責(zé)任編輯:佚名
來(lái)源:
PhoneGap中國(guó)