【发布时间】:2019-08-02 11:16:28
【问题描述】:
我正在 Android Studio 中开发一个科学应用程序。它运行顺畅。
源代码文件集并不小,但是由于我没有实际的用户界面,所以只有一个活动,没有意图。
所有初始化代码都在OnCreate 中。大多数时候,当他离开前台时,我的应用程序会保留所有数据。
但是,即使手机没有进入 锁屏 并且只有 2 个应用程序正在运行。
在某些情况下,我为另一个应用程序(例如 WhatsApp)通勤并为我的应用程序恢复,但我的数据已经消失了。应用重新启动。
没有错误信息,没有logcat。什么都没有。
大多数情况下,当我锁定屏幕并再次进入时,我所有的应用数据都在那里。
PS:我的方向被锁定了。
PS 2:我已阅读所有相关问题,但没有任何提示。基于answer,我尝试将以下代码放入onCreate。
if (!isTaskRoot() {
&& getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
&& getIntent().getAction() != null
&& getIntent().getAction().equals(Intent.ACTION_MAIN)) {
finish();
return;
}
对我来说没有任何变化。
更新:
我偶然发现了解决方案。可以在我自己的答案中阅读。它与一个活动应用程序的不受欢迎的back 按钮效果有关(阅读here 和here)。
对我来说,由于我的应用程序只有一个活动,back 需要像 home 按钮:退出 app 但保留所有活动数据。我的应用程序有一个真正的exit button,用户在其中表明确实想要这样做。
【问题讨论】: