PhoneGap API介紹:Notification
作者:佚名
本文將介紹PhoneGap API——Notification:設備的視覺、聲音和觸覺提醒。PhoneGap API Notification設備的視覺、聽覺和觸覺通知。
方法:
- 顯示一個定制的警告或對話框。
- 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中國