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

时间: 2024-08-01 15:11:50

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

Hibernate学习笔记(二) — 探索 hibernate 中对象的状态

一.hibernate中对象的状态有三种: 临时.游离和持久化,三种状态转化的方法都是通过session来调用的 什么是持久化? 通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存) 二.三种状态的相互转换 session方法 session.save():该方法可以把一个对象从临时装填转换成持久化状态 session.get():从数据库中根据主键提取出一个对象,该对象就是一个持久化状态的对象 session.update():把一

CCNA 学习笔记(二)--CISCO设备初接触

CCNA 学习笔记(二)--初识CISCO设备 上一章我们认识到网络方面的基础知识了,现在我们正式接触CISCO设备. 1.首先我们先了解一台CISCO设备里的主要组件: ROM(只读存储器):主要保存着开机自检软件.保存路由器启动引导程序. RAM(随机存储器):断电会把数据丢失.可以存储配置文件.>>>相当于PC的内存 NVRAM(非易失存储器):断电不会丢失.用来保存用户配置文件.IP.startup-config.主机名.路由协议等等. FLASH(闪存):主要是保存完整的   

linux学习笔记二:硬盘信息查询

在linux管理中,硬盘管理是很重要的一部分.包括阵列,分区,逻辑卷等操作,在对硬盘操作前,需要充分的了解硬盘的信息.常用的硬盘查询有以下几种: 1.df  查看文件系统空间使用情况: linux-lszd-db:~ # dfFilesystem     1K-blocks     Used Available Use% Mounted on/dev/sda6      809262496 37615092 770825244   5% /udev             8076412    

马哥学习笔记二十四——分布式复制快设备drbd

DRBD: 主从 primary: 可执行读.写操作 secondary: 文件系统不能挂载 DRBD: dual primay, 双主(基于集群文件系统的高可用集群) 磁盘调度器:合并读请求,合并写请求: Procotol:drbd数据同步协议 A: Async, 异步  数据发送到本机tcp/ip协议栈 B:semi sync, 半同步  数据发送到对方tcp/ip协议 C:sync, 同步  数据到达对方存储设备 DRBD Source: DRBD资源 资源名称:可以是除了空白字符外的任意

Android学习笔记二

17. 在ContentProvider中定义的getType()方法是定义URI的内容类型. 18. SQLiteDatabase类中的insert/delete/update/query方法其实也挺好用的,我在EquipmentProvider类中做了实现 19. Android专门有个单元测试项目(Android Test Project),在这个项目中,可以新建一个继承AndroidTestCase类的具体测试类来单元测试某个功能.我新建了一个AndroidTestProject项目,在

Android学习笔记二十之Toast吐司、Notification通知、PopupWindow弹出窗

Android学习笔记二十之Toast吐司.Notification通知.PopupWindow弹出窗 Toast吐司 Toast吐司是我们经常用到的一个控件,Toast是AndroidOS用来显示消息的一种机制,它与Dialog不同,Toast不会获取到焦点,通常显示一段时间之后就会自动消失,下面我们来介绍Toast的几种常用方式: 第一种,默认显示方式,也是最常用的方式: Toast.makeText(MainActivity.this, "这是默认的显示方式", Toast.LE

linux学习笔记二:linux文件系统

各大linux的版本都遵循着FHS(Filesystem Hierarchy Standard)文件系统目录标准,是一个树形结构的组织文件.在此简要记录各目录. linux下所有文件都处在/文件下. 树形结构图: /boot:  系统启动相关的文件 主要文件 1.vmliunx:内核    2.initramfs:磁盘映像文件   3.grub(bootloader) /dev:设备文件 块设备:随机访问设备. 字符设备:线性设备,顺序访问.按字符为单位.键盘.鼠标. 设备号:主设备号(majo

AJax 学习笔记二(onreadystatechange的作用)

AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能.这类似于回调函数的做法.onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如: 复制代码 代码如下: ajaxObj=createAjaxObject(); var url="/MyTod

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac