Cordova框架了一組事件,開發者用來對某些運行Cordova應用的設備上的事件做出反應。事件處理的一種狀況是硬件相關活動,如電池狀態變化或用戶按了某個物理按鈕;另外一種狀況是應用程序狀態的變化,如應用被停止或恢復。這些web應用使用的事件同Native應用使用的是同樣的。css
完整的支持的事件列表以下:html
Cordova 事件 | 描述 |
backbutton | 用戶按設備後退鍵時觸發 |
batterycritical | 電池達到關鍵狀態時觸發。關鍵狀態的定義因平臺而異 |
batterylow | 電池低電量狀態時觸發。低電量狀態的定義因平臺而異 |
batterystatus | 電池狀態至少改變1%時時觸發(增長或減小) |
deviceready | cordova容器完成初始化時觸發 |
endcallbutton | 在用戶按手機的結束通話鍵時觸發 |
menubutton | 在用戶按手機的菜單鍵時觸發 |
offline | 在設備失去網絡鏈接時觸發 |
online | 在設備由沒有網絡鏈接轉換到鏈接狀態時觸發 |
pause | Cordova應用被掛起時觸發。通常發生在用戶跳轉到另外一個應用,系統把當前應用放在後臺時 |
resume | 在被掛起的應用轉到前臺時觸發 |
searchbutton | 在用戶按查找鍵時觸發 |
startcallbutton | 在用戶按通話鍵時觸發 |
volumedownbutton | 用戶按音量減小鍵時觸發 |
volumnupbutton | 用戶按音量鍵增長時觸發 |
老式手機使用物理按鈕來撥通和結束通話。在較新的設備上,這些按鈕被移除並用虛擬按鍵代替。虛擬按鍵只在用到(如菜單和查找按鍵),或只用於某些應用(像電話按鍵)。git
大多數的列出的事件都在Cordova容器中實現了。只有電池狀態以插件形式實現了。要使應用可以監視電池事件必須首先添加電池狀態插件:web
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin=battery-status.git
其中device事件在《cordova應用解析》討論過。apache
要監視這些事件能夠簡單的在應用中爲某個事件註冊監聽器。網絡
document.addEventListener("eventName", eventFunction);
如要監聽是否斷開網絡鏈接,能夠註冊offline事件的監聽器:框架
測試document.addEventListener("offline", isOffline);
.netfunction isOffline() {
插件// 斷開網絡鏈接時的動做
}
事件在不一樣的移動平臺上並不都準確的定期望的狀況觸發,須要在不一樣設備上測試確保應用定期望的工做。
測試過的事件以下:
/********Cordova事件綁定******/
document.addEventListener('backbutton', function () {
console.info("後退鍵被點擊");
}, false);
document.addEventListener('deviceready', function () {
console.info("cordova容器完成初始化時觸發");
}, false);
document.addEventListener('menubutton', function () {
console.info("在用戶按手機的菜單鍵時觸發");
}, false);
document.addEventListener('pause', function () {
console.info("Cordova應用被掛起時觸發");
}, false);
document.addEventListener('resume', function () {
console.info("在被掛起的應用轉到前臺時觸發");
}, false);
document.addEventListener('startcallbutton', function () {
console.info("在用戶按通話鍵時觸發");
}, false);