Cordova 事件
Cordova 一共有 个事件
- deviceready cordova 加载完成事件
- pause 程序进入后台
- resume 从后台进入程序
- backbutton 按下返回按钮
- menubutton 按下菜单按钮
- searchbutton 按下搜索按钮
- startcallbutton 按下通话按钮
- endcallbutton 按下挂断通话按钮
- volumedownbutton 按下声音下键按钮
- volumeupbutton 按下声音上键按钮
deviceready
当Cordova完全加载好deviceready事件会触发。这个事件对每一个应用程序都是必须的。他是Cordova设备API准备好并可以访问的信号。
一旦Cordova全部加载deviceready事件就会触发。一定事件出发,你可以安全的进行CordovaAPI的调用。应用程序通常一旦HTML document DOM加载完成,就会使用 document.addEventListener绑定一个事件监听。
deviceready事件和其他事件有点不同。其他事件的事件处理函数注册都是在deviceready事件出发的回调函数中立马执行。
简单实例
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// 现在可以安全的使用设备API
}
pause 程序进入后台
当原生平台把应用程序放入后台这个pause事件会触发,通常是用户切换到了不同的应用程序。
简单例子:
document.addEventListener("pause", onPause, false);
function onPause() {
// 处理pause事件
}
resume 从后台进入程序
当原生平台将应用程序从后台运行拉出resume事件就会触发。
简单例子:
document.addEventListener("resume", onResume, false);
function onResume() {
// 处理resume事件
}
menubutton (按下菜单按钮)
当用户按下菜单按钮事件触发,如果你需要重写默写行为你可以注册menubutton事件监听。
现在新款智能机未找到菜单按钮
简单例子:
document.addEventListener("menubutton", onMenuKeyDown, false);
function onMenuKeyDown() {
// 菜单按钮事件的事件处理函数
}
searchbutton (按下搜索按钮)
Android中当用户按下搜索按钮事件触发,如果你需要重写默写行为你可以注册'searchbutton'事件监听。
现在新款智能机未找到搜索按钮
简单例子:
document.addEventListener("searchbutton", onSearchKeyDown, false);
function onSearchKeyDown() {
// 搜索按钮事件的事件处理函数
}
startcallbutton(按下通话按钮)
当用户按下通话按钮事件触发,如果你需要重写默写行为你可以注册startcallbutton 事件监听。
现在新款智能机未找到通话按钮
简单的例子
document.addEventListener("startcallbutton", onStartCallKeyDown, false);
function onStartCallKeyDown() {
// 通话按钮事件的事件处理函数
}
endcallbutton(按下挂断通话按钮)
当用户按下挂断通话按钮事件触发,如果你需要重写默写行为你可以注册endcallbutton事件监听。
现在新款智能机未找到挂断通话按钮
document.addEventListener("endcallbutton", onEndCallKeyDown, false);
function onEndCallKeyDown() {
// 挂断通话按钮事件的事件处理函数
}
volumedownbutton(按下降低声音按钮)
当用户按下降低声音按钮事件触发,如果你需要重写默写行为你可以注册volumedownbutton事件监听。
简单例子:
document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
function onVolumeDownKeyDown() {
// 降低声音按钮事件的事件处理函数
}
volumeupbutton(按下增加声音按钮)
当用户按下增加声音按钮事件触发,如果你需要重写默写行为你可以注册volumeupbutton事件监听。
简单例子:
document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
function onVolumeUpKeyDown() {
// 增加声音按钮事件的事件处理函数
}
代码实例
// 检测设备是否连接成功
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady() {
// cordova 连接成功之后,显示连接成功文字
console.log('Running cordova-' + cordova.platformId + '@' + cordova.version);
document.getElementById('deviceready').classList.add('ready');
/* 设备连接成功之后,才可以调用Cordova的原生事件 */
// 当原生平台把应用程序放入后台这个pause事件会触发,通常是用户切换到了不同的应用程序。
document.addEventListener("pause", onPause, false);
// 当原生平台将应用程序从后台运行拉出resume事件就会触发。
document.addEventListener("resume", onResume, false);
// 当用户按下返回按钮事件触发,如果你需要重写默写行为你可以注册backbutton事件监听。不在需要其他调用方法来重写返回按钮的行为。
document.addEventListener("backbutton", onBackKeyDown, false);
// 当用户按下菜单按钮事件触发,如果你需要重写默写行为你可以注册menubutton事件监听。
document.addEventListener("menubutton", onMenuKeyDown, false);
// Android中当用户按下搜索按钮事件触发,如果你需要重写默写行为你可以注册'searchbutton'事件监听。
document.addEventListener("searchbutton", onSearchKeyDown, false);
// 当用户按下降低声音按钮事件触发,如果你需要重写默写行为你可以注册volumedownbutton事件监听。
document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
// 当用户按下增加声音按钮事件触发,如果你需要重写默写行为你可以注册volumeupbutton事件监听。
document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
}
function onPause() {
log('后台挂起')
}
function onResume () {
log('欢迎回来')
}
function onBackKeyDown() {
log('您点击了返回按钮')
}
function onMenuKeyDown() {
log('您点击了菜单按钮')
}
function onSearchKeyDown() {
log('您点击了搜索按钮')
}
function onVolumeDownKeyDown() {
log('您点击了音量下键按钮')
}
function onVolumeUpKeyDown() {
log('您点击了音量上键按钮')
}
function log (msg) {
let p = document.createElement('p')
p.style.fontSize = '16px'
p.innerHTML = msg
document.body.appendChild(p)
}
效果展示:
此段代码中,监听了菜单按钮和搜索按钮,但在测试过程中,未发现此按钮,所以未能测试出来。