首页 > 代码库 > PhoneGap学习笔记(二) 部分事件、设备信息、网络状态和通知

PhoneGap学习笔记(二) 部分事件、设备信息、网络状态和通知

部分事件如下:

deviceready:表示phoneGap已经就绪

menubutton:菜单键按下

backbutton:返回键按下

pause:程序转入后台运行

resume:程序进入前台运行

online:设备连接网络(测试设备从断网进入联网状态触发,WIFI和数据网络相互切换也会触发)

offline:设备断开网络(测试设备失去网络连接触发,WIFI和数据网络相互切换也会触发)

部分对象如下:

window.device:设备信息对象

device.name:设备名称

device.cordova:phonegap版本

device.platform:平台(Android、iOS、Windows 8、....)

device.uuid:设备编号

device.version:系统版本

检测网络类型:

var netType=navigator.network.connection.type;

其值分别是:

Connection.UNKNOWN

Connection.WIFI

Connection.CELL_2G

Connection.CELL_3G

Connection.CELL_4G

Connection.ETHERNET

Connection.NONE

综合示例如下:

 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>phonegap</title> 6 <script src="js/cordova.js"></script> 7 </head> 8  9 <body>10 <div>Hello Word</div>11 <div id="msg"></div>12 <div id="internet"></div>13 <div id="device"></div>14 <div id="conn"></div>15 <script>16 document.addEventListener("deviceready",function(){17       init();18 },false);19 function init(){20   var msg=document.getElementById("msg");21   var internet=document.getElementById("internet");22   var device=document.getElementById("device");23   checkNetwordType();24   document.addEventListener("backbutton",function(){25       msg.innerHTML="返回键按下";26   },false);27   document.addEventListener("menubutton",function(){28       msg.innerHTML="菜单键按下";  29   },false);30   document.addEventListener("pause",function(){31       msg.innerHTML="程序转入后台运行";  32   },false);33   document.addEventListener("resume",function(){34       msg.innerHTML="程序进入前台运行";35   },false);36   document.addEventListener("online",function(){37       internet.innerHTML="设备已连接网络";38       checkNetwordType();39   },false);40   document.addEventListener("offline",function(){41       internet.innerHTML="设备已断开网络";42       checkNetwordType();43   },false);44   var deviceInfo=window.device;45   device.innerHTML="设备名称:"+deviceInfo.name+"<br/>phoneGap版本:"+deviceInfo.cordova+"<br/>设备类型:"+deviceInfo.platform+46                    "<br/>设备编号:"+deviceInfo.uuid+"<br/>系统版本:"+deviceInfo.version;47 }48 function checkNetwordType(){49   var conn=document.getElementById("conn");50   var netType=navigator.network.connection.type;51   var state={};52   state[Connection.WIFI]="WIFI网络";53   state[Connection.UNKNOWN]="网络未知";54   state[Connection.CELL_2G]="2G网络";55   state[Connection.CELL_3G]="3G网络";56   state[Connection.CELL_4G]="4G网络";57   state[Connection.ETHERNET]="以太网络";58   state[Connection.NONE]="网络未连接";59   conn.innerHTML=state[netType];    60 }61 </script>62 </body>63 </html>

 对话框

警告对话框:navigator.notification.alert("返回键按下",function(){},"对话框标题","确定");

四个参依次是:显示内容、回调函数、对话框标题和按钮

前两个参数必须,后面两个可省略

确认对话框:navigator.notification.confirm("确定删除?",callbak,"退出程序","确定,取消,保持现状");

四个参数前三个同警告对话框,第四个参数为按钮标题,可配置多个按钮,以","分隔,在callbak回调方法中捕获点击按钮

navigator.notification.confirm("确定删除?",callbak,"退出程序","确定,取消,保持现状");function callbak(button){  if(button==1){      navigator.notification.alert("点击了确定按钮,退出程序");  }else if(button==2){      navigator.notification.alert("点击了取消按钮");  }else if(button==3){      navigator.notification.alert("点击了第三个按钮");  }}

使用鸣叫,调用系统通知音  

navigator.notification.beep(1);

测试该方法会阻塞js,只有系统鸣叫结束后才会执行下一行代码

使用系统震动

navigator.notification.vibrate(1000);,参数为震动时间,单位ms

PhoneGap学习笔记(二) 部分事件、设备信息、网络状态和通知