Android:无法在javascript中捕获后退按钮单击

Android: Unable to capture the backbutton click in javascript

本文关键字:按钮 单击 javascript Android      更新时间:2023-09-26

我正在使用IntelXDK开发HTML5,CSS3和JavaScript的Android应用程序,该应用程序是一个单页应用程序,在使用HTML按钮切换视图时工作正常,但是当在移动设备上按下后退按钮时,应用程序退出,但是我想捕获此事件并显示主屏幕。

该事件在模拟器中工作,但在物理设备上不工作

这是我为捕获后退按钮单击事件所做的,但应用程序刚刚关闭:

$(document).ready(function () {
    var animTime = 300,
        clickPolice = false;
    $(document).on('click', '.acc-btn', function () {
        if (!clickPolice) {
            clickPolice = true;
            var currIndex = $(this).index('.acc-btn');
            $('.acc-content').stop().animate({ height: 0 }, animTime);
            $('.acc-content').eq(currIndex).stop().animate({ height: 108 }, animTime);
            setTimeout(function () { clickPolice = false; }, animTime);
        }
    });
    //Back button event
    document.addEventListener('backbutton', function () {
        if ($('#front').hasClass('hidden')) {
            ShowPage('front');
            return false;
        }
        else {
            navigator.app.exitApp();
        }
    }, false);
});
//Show page function etc.....

我知道ShowPage功能工作正常,因为它在其他地方使用

任何帮助不胜感激

查看以下适用于 Android 的链接 - https://software.intel.com/en-us/node/493108

您必须捕获后退按钮并添加虚拟页面以防止应用程序退出

document.addEventListener("intel.xdk.device.hardware.back", function() {
//continue to grab the back button
   intel.xdk.device.addVirtualPage(); 
}, false); 

尝试从 addEventListener 中删除布尔参数,以便

//Back button event
document.addEventListener('backbutton', function () {
    if ($('#front').hasClass('hidden')) {
        ShowPage('front');
        return false;
    }
    else {
        navigator.app.exitApp();
    }
});