android 的cordova/phongap 流星构建中的后退按钮不会一直关闭应用程序

fun*_*eah 5 android cordova meteor

我已经用meteor和phonegap/cordova为Android构建了应用程序:https : //play.google.com/store/apps/details? id = com.idqkd3gsl4qt51152xgy

它运行良好(特别是考虑到我不是真正的程序员),但我一直在努力解决的一个用户体验问题是,当我按下手机上的后退按钮时,应用程序不会一直关闭。每隔一段时间它就可以在第一次按下时工作,但大多数时候我必须连续卡住它 5-6 次才能关闭应用程序。

我正在使用最新的铁路由器。我使用的其余软件包似乎与这个问题没有特别的关系,但它们如下以防万一:

标准应用程序包咖啡脚本 natestrauser:font-awesome@4.1.0 帐户密码 aldeed:autoform aldeed:collection2 nemo64:bootstrap less alanning:roles joshowens:accounts-entry mrt:accounts-admin-ui-bootstrap-3 mizzao:jquery -ui Iron:router sacha:spin raix:push mizzao:bootboxjs 流星黑客:kadira bootstrap3-media-query

回购可以在这里看到:https : //github.com/The3vilMonkey/BrewsOnTap

Kel*_*ley 5

除了在启动时,cordova 应用程序似乎发生了某种重定向之外,我无法指定此问题的确切原因。我发现的最佳解决方案是捕获 popstate 事件,当您返回开始退出或暂停应用程序时。我更喜欢在用户返回应用程序时以这种方式暂停它不会从一开始就开始它的生命周期.

if(Meteor.isCordova){
    Meteor.startup(function(){
        window.onpopstate = function () {
            if (history.state && history.state.initial === true){
                navigator.app.exitApp();

                //or to suspend meteor add cordova:org.android.tools.suspend@0.1.2
                //window.plugins.Suspend.suspendApp();
            }
        };
    });
}
Run Code Online (Sandbox Code Playgroud)

当我第一次使用它时,一个警告是如果用户未登录,则重定向到登录页面。如果您在执行此操作的应用程序中使用此方法,您将需要切换到呈现登录页面到位而不是重定向,否则您的应用程序将立即退出/暂停。