Phonegap Android后退按钮覆盖

时间:2013-11-30 22:18:28

标签: android cordova

在我的Phonegap应用中,使用html作为网页在单个div文件中创建,只有当div充当主页时,我才会覆盖后退按钮以退出应用页面是可见的,否则隐藏其他页面并显示主页div。我使用jQuery来附加事件处理程序。

在首次启动应用时效果很好,但如果应用位于“历史记录”列表中,则覆盖功能无效,“返回”按钮将退出应用,而不会检查哪个div可见。从“历史记录”列表中删除应用程序后,它将再次按预期工作。

使用Android 4.2在Nexus 4上进行测试。 这是代码:

    $(document).on('backbutton', function (ev) {
        ev.preventDefault();
        if (!$('#divHomeScreen').is(':visible')) {
            $('.screen').hide();
            $('#divHomeScreen').show();
            return false;
        } else {
            navigator.app.exitApp();
        }
    });

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我所做的是根据需要动态添加和删除后退按钮处理程序。例如......

    function showScreen()
    {
      $("#divHomeScreen").hide();
      $(".screen").show();
      $(document).on("backbutton", onBackButton);
    }

    function hideScreen()
    {
      $(".screen").hide();
      $("#divHomeScreen").show();
      $(document).off("backbutton", onBackButton);
    }

    function onBackButton()
    {
      hideScreen();
    }

这是在Galaxy S3 Android 4.3和PhoneGap 3.3.0

上测试的