Android Cordova应用程序从主屏幕启动时重新启动

Android Cordova应用程序从主屏幕启动时重新启动,android,google-chrome,cordova,google-chrome-app,cordova-chrome-app,Android,Google Chrome,Cordova,Google Chrome App,Cordova Chrome App,我正在使用ApacheCordova(通过Chrome移动应用程序框架)构建一个Android应用程序。假设我想启动这个应用程序,它以前已经启动过。有两种方法可以做到这一点: 转到主屏幕启动器并单击应用程序图标 使用Android多任务按钮(最近的应用程序按钮)并单击 应用程序就是这样运行的 当我执行#1时,应用程序完全重新启动,我得到Cordovadeviceready事件,但当我执行#2时,我得到Cordovaresume事件,应用程序从我停止的位置恢复,而无需完全重新加载 我怎样才能始终获

我正在使用ApacheCordova(通过Chrome移动应用程序框架)构建一个Android应用程序。假设我想启动这个应用程序,它以前已经启动过。有两种方法可以做到这一点:

  • 转到主屏幕启动器并单击应用程序图标
  • 使用Android多任务按钮(最近的应用程序按钮)并单击 应用程序就是这样运行的
  • 当我执行#1时,应用程序完全重新启动,我得到Cordova
    deviceready
    事件,但当我执行#2时,我得到Cordova
    resume
    事件,应用程序从我停止的位置恢复,而无需完全重新加载


    我怎样才能始终获得行为2,或者尽可能多地获得行为2?我不知道为什么该应用程序会根据我重新输入它的方式表现出不同的行为。

    这会起作用吗

    <preference name="KeepRunning" value="true"/>
    
    
    

    还请注意,在index.html中使用deviceready时要小心,您使用的是哪个版本的Chrome移动应用程序?我们修补了cordova android以更改默认的
    android:launchMode
    ,该默认模式已更改,以完全按照您描述的方式修复行为


    我不记得降落的确切版本,但可能是大约一个月前的某个地方。请升级cca(使用
    npm install-g cca
    ),然后再升级您的应用程序,由于使用了新的
    cca upgrade
    命令,现在的最新版本应该更容易了。

    KeepRunning略有不同——它更多的是电池设置。考虑到所描述的行为,当从icon/switcher运行时效果不同,我很确定实际要检查的设置是
    AndroidLaunchMode
    ,默认值最近已经更改了。@好的,谢谢您的评论。我将在稍后研究您的描述。我认为这是正确的解决方案(基于您所说的和我所读到的)。我上的是cca
    0.1.0
    ,现在我上的是
    0.1.1
    。有趣的是,我把我的主屏幕启动器换成了安卓系统,这个问题就消失了,甚至不需要升级cca。使用我附带的“Google Now”启动器(Nexus 5的apk),它有问题,但使用我的标准摩托罗拉启动器(Droid Maxx),它没有问题。哇,这很有趣。我们将确保密切关注该问题。@hatboysam如果您可以在自定义启动器上以最新的cca一致性重现该问题,请在我们的github问题跟踪器上提交一个带有repo步骤的错误,请!它似乎在cca
    0.1.1
    中得到了修复,奇怪的是,在以前的版本中,启动器之间肯定存在差异。