我试图在Android Cordova应用中捕获设备事件。但是,除deviceReady
事件外,没有其他事件被触发。我在deviceReady事件之后使用了Cordova文档中给出的事件。我的Cordova版本6.4.0
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
document.addEventListener("backbutton", function(e){
// My Code here
});
document.addEventListener("volumedownbutton", onVolumeDownKeyDown, false);
function onVolumeDownKeyDown() {
console.log('volume downn')
// Handle the volume down button
}
document.addEventListener("menubutton", onMenuKeyDown, false);
function onMenuKeyDown() {
console.log('menu button')
// Handle the back button
}
document.addEventListener("volumeupbutton", onVolumeUpKeyDown, false);
function onVolumeUpKeyDown() {
console.log('volume up button')
// Handle the volume up button
}
};
答案 0 :(得分:0)
请参阅一个问题here,其中将cordova版本更新为6.4.0
会导致错误进入同一个项目,该版本与版本6.2.0
一起正常工作
解决方案是降级cordova的版本帮助他再次恢复该项目。
我创建了一个测试项目并推出了这个index.html
,这对我来说非常合适,只需尝试将其添加到您的测试项目中,如果这样做有效,请告诉我们
我的Cordova版本6.2.0
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="cordova.js"></script>
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
setTimeout(function(){
try{
document.addEventListener('backbutton', function(e){
alert("Back Button Clicked")
}, false);
}catch(e){
alert(e);
}
}, 500);
}
</script>
</head>
<body>
<div>
<h1>Click Android Back button to see event fired or not</h1>
</div>
</body>
</html>