除了deviceReady事件之外,没有Cordova事件正在工作

时间:2016-12-25 14:35:10

标签: android cordova events

我试图在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
  }
};

1 个答案:

答案 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>