在PhoneGap中,系统通过JavaScript截获来自于硬件的信息。目前,PhoneGap可以处理包括网络、电量、音量、按钮等方面的信息。说白了类似于android中的监听事件,当一个事件发生了,系统就能做出相应的反馈。
PhoneGap的生命周期只包括应用在屏幕中运行的一部分,当应用被暂停和重新运行时有pause时间和resume时间来与它们对应。
PhoneGap的整个生命周期可以划分成15种不同的事件,如下:
名称 | 说明 |
---|---|
deviceready | 当设备加载完毕后会触发该事件 |
pause | 当程序被暂停到后台运行时会触发该事件 |
resume | 当程序被从后台激活到前台运行时会触发该事件 |
online | 当设备网络设备改变且是从网络断开状态切换到连接状态时触发该事件 |
offline | 当设备网络设备改变且是从网络连接状态切换到断开状态时触发该事件 |
batterycritical | 当设备电量过低超过某个临界点时该事件被触发,临界点的值由设备决定,一般为10% |
batterylow | 当设备剩余电量低于某个由开发者或用户指定的值时该事件被触发 |
batterystatus | 当电池剩余电量发生1%的改变时该事件被触发 |
backbutton | 当用户单击“返回”按钮时该事件被触发 |
menubutton | 当用户单击“菜单”按钮时该事件被触发 |
startcallbutton | 当用户“按下”通话按钮时会触发该事件 |
endcallbutton | 当用户单击“挂断”通话按钮时会触发该事件 |
volumedownbutton | 当用户按下“音量减小”按钮时会触发该事件 |
volumeupbutton | 当用户按下“音量增大”按钮时会触发该事件 |
searchbutton | 当用户按下“搜索”按钮时会触发该事件 |
事件比较多,但是根据右边的说明一目了然,为了方便记忆,我们把这些事件分成三类:
1.程序加载事件
包括deviceready、pause、resume这三个事件,用于对程序的加载完毕(即生命周期的开始)、暂停、恢复进行处理。
2.被动消息事件
当设备的状态改变时会触发,包括online、offline、batterycritical、batterylow、batterystatus。比如说设备电量不会随用户的意愿而突然增加,所以称此类事件为被动消息事件
3.主动消息事件
包括backbutton、menubutton、startcallbutton、endcallbutton、volumedownbutton、volumeupbutton和searchbutton这7个事件,分别在用户按下相应的按钮时进行响应。
当然,如果手机没有响应的一些按钮,对应的事件肯定是不可用的了