强制登录jQuery Mobile / Phonegap应用程序重启

时间:2014-07-08 18:58:53

标签: android jquery ios jquery-mobile cordova

我有一个运行jQuery 1.9.1,jQuery Mobile 1.4.2和Phonegap 3.4.0的应用程序。

它有一个登录屏幕,这样当你第一次打开应用程序时,你输入了你的信息,它进行了一次AJAX检查,如果一切正常,那就存储你的信息并移动你经过那个页面。

理想情况是,每次将应用程序发送到后台(用户回家或切换应用程序),然后重新启动应用程序,他们必须再次登录。

目前我通过设置

在iOS中完成此操作
<preference name="exit-on-suspend" value="true" />
我的config.xml中的

偏好设置。我在navigator.app.exitApp();事件监听器中使用pause在Android中完成了同样的事情。

这通常效果很好,但是一些旧版本的android有一个奇怪的问题。在回家并重新启动应用程序后,您将进入登录页面,您只需点击后退按钮,它就会将您带到退出之前您所在的最后一页,并且您仍然登录。我还有一个功能可以摧毁当应用程序暂停时,所有用户变量(呈现所有页面都无用),但似乎也会被忽略。在较旧版本的Android(特别是2.3)上,它们似乎忽略了pause事件监听器。

如何解决这个问题,或者是否有更好的方法可以在重启时强制登录?

1 个答案:

答案 0 :(得分:0)

在不知道您拥有的其他要求或主页可能会有什么行为的情况下,您可以捕获后退按钮事件并阻止它进入任何地方。

//set a bit or note that you are on the login page
var onHome = true;

...

document.addEventListener("backbutton", backButtonTap, false);

function backButtonTap(e) {
    if(onHome) {
      e.preventDefault();
      alert('Please Login');
    }
}

当然不是处理它的唯一或者最好的方法,因为用户似乎保持登录状态,你说它应该被删除,但它至少应该阻止导航离开登录页面并返回。