ipzyh

ip

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  2 随笔 :: 7 文章 :: 0 评论 :: 0 Trackbacks
来源:http://www.2cto.com/kf/201207/139591.html

设备的视觉、听觉和触觉通知。
方法:
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> 


作者:LuoXianXion
posted on 2012-09-28 21:14 阅读(1862) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理