android - 如何在一个页面上禁用 Android 后退按钮并更改为每隔一个页面上的退出按钮

标签 android cordova jquery-mobile back-button-control

我正在使用 Phonegap 开发一个与我的 Drupal 站点交互的 Android 应用程序。我已经重新分配了 Android“后退”按钮以提示用户从 Drupal 服务器注销,但是,我只想在登录页面上禁用它(出于明显的原因)。我可以让它工作,但只有在用户注销之前,然后在登录页面上一次按钮仍然重新分配为注销按钮。这是我到目前为止的代码:

   <head>
         <script>
        /* Wait until device is ready to re-assign Back button */
        document.addEventListener("deviceready", onDeviceReady, false);
        function onDeviceReady() {
            document.addEventListener("backbutton", onBackKeyPress, false);
        }
        function onBackKeyPress() {
            /* If the current page is the login page, disable the button completely (aka do nothing) */
            if ($.mobile.activePage.attr('id') == 'login_page') {
            }

            /* Else, execute log off code */
            else {
                if (confirm("Are you sure you want to logout?")) {
                    /* Here is where my AJAX code for logging off goes */
                }
                else {
                    return false;
                }
            }
        }
        </script>
</head>

问题是后退按钮没有被重新分配。当用户注销并最终回到登录页面时,我无法找到重新运行上述代码的方法。

如果有人愿意为此提供解决方案,我将不胜感激!

最佳答案

deviceready 很重要。如果不使用,有时您会阻塞后退按钮,有时则不会。 通常在调试中它有效,在生产中没有。

document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        document.addEventListener("backbutton", function (e) {
            e.preventDefault();
        }, false );
}

编辑 2013-11-03 常见的错误是在桌面上进行开发,排除了 cordova 脚本。 然后忘记包含移动版本的 cordova 脚本。

关于android - 如何在一个页面上禁用 Android 后退按钮并更改为每隔一个页面上的退出按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791324/

相关文章:

android - 如何以编程方式设置 android 应用程序 Logo 和启动器图标

android - Phonegap - Android https 请求在通过 Eclipse 构建时不起作用

JavaScript 超时

ios - 通过 socket.io 连接到 Node 服务器的 phonegap 应用程序可在浏览器上运行,但不能在应用程序中运行

android - 当对话框在 jQuery Mobile 上处于 Activity 状态时如何使用后退按钮关闭

android - 如何减少 Visual Studio 2015 中 Xamarin Forms 应用程序的用户代码大小?

java - 如何在 Android 中读取 Firebase 用户数据

android - Intent.FLAG_ACTIVITY_CLEAR_TOP 在 Android 中不起作用

Jquery Mobile 页脚问题有时没有什么好处

jquery-mobile - 使用节、页眉和页脚标签而不是数据角色