如果从App Manager首先运行应用程序,为什么Android在按Home键后不会保留应用程序状态?

deg*_*nik 7 android install operating-system

  • 重现问题的步骤.

    1. 使用多个活动创建或下载任何应用程序.
    2. 将apk文件加载到SD卡或从市场安装.
    3. 使用标准App Manager安装应用程序.
    4. 在App Manager中安装后,按下打开或在下载后按下通知消息.
    5. 应用程序运行后转到下一个(第二个)应用程序屏幕.
    6. 按HOME.
    7. 按应用程序图标.
  • 发生了什么.

Appliaction正在从第一个屏幕重新启动,并且不会保留第二个屏幕.应用程序重启后,或者在应用程序中将BACK按钮按到主屏幕时,应用程序会以正常方式保留活动.

  • 应该是正确的行为.

申请必须始终以正常方式保留活动.

如何为我的应用程序解决此问题?我可以在首次运行时重启应用程序吗

Mat*_*ieu 1

取决于应用程序在清单文件中的定义方式以及它是否有任何机制来保存和恢复其状态......

根据您的步骤,它可能会创建同一应用程序的多个实例(检查

或者它没有在onCreate中使用实例 Bunble

所有应用程序绝对不会自动返回到暂停或销毁时所在的保存屏幕(某些应用程序不希望这样,考虑一下您的银行帐户管理......)

编辑

因此,如果我从您的评论中理解正确,那么当您使用 BACK 键退出应用程序时,它会按您的预期工作,但当您使用 HOME 键时则不会...

阅读我发布的链接:http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

您会明白,当您按 HOME 键时,您所在的应用程序实例不会被破坏(因此不会保存当前状态)。再次启动它只会启动另一个实例(从初始屏幕)。

当用户按下 BACK 键时,当前活动将被销毁,并恢复先前的活动。

...

任务是一个有凝聚力的单元,当用户开始新任务或通过 HOME 键转到主屏幕时,它可以移动到“后台”

如果您想更改其行为方式,请查看launchMode清单中的 。