我正在Android Studio中开发一个科学应用程序。它工作顺利。源代码文件集不小,但是,由于我没有实际的用户界面,所以只有一个活动,没有意图。所有初始化代码都在里面OnCreate。大多数时候,当他离开前台时,我的应用程序会保留所有数据。但是,也许(我找不到此事件的模式)他丢失所有数据并重新启动(显示白屏 2 / 3 秒),即使手机没有进入锁定屏幕并且只有 2 个应用程序正在运行.在某些情况下,我为另一个应用程序(如WhatsApp)通勤并为我的应用程序恢复,但我的数据消失了。应用再次重启。没有错误消息,没有 logcat。没有什么。大多数情况下,当我锁定屏幕并再次进入时,我所有的应用程序数据都在那里。PS:我的方向被锁定了。PS 2:我已经阅读了所有相关问题,但没有任何提示。基于一个答案,我尝试输入onCreate以下代码。if (!isTaskRoot() { && getIntent().hasCategory(Intent.CATEGORY_LAUNCHER) && getIntent().getAction() != null && getIntent().getAction().equals(Intent.ACTION_MAIN)) { finish(); return; }对我来说没有变化。
1 回答
汪汪一只猫
TA贡献1898条经验 获得超8个赞
这是我在移动世界开发的第一个应用程序,为了扩展,Android世界
在我看来,有些问题只有在对解决方案有提示的情况下才有可能找到解决方案。这是一个矛盾。一个人不知道,但必须知道解决不知道!
而且,在这种情况下,情况并非如此。没有提示。只是问号。
之前,我没有注意到任何模式。人们有时会如此自动地行事……然而,突然一分钱掉了下来。
我偶然发现了解决方案。幸运的是!
不到一百万年,我可以假设如果有人按下activity按钮Back,(底部的右按钮),你实际上退出了应用程序,即使它仍然作为底部左按钮(应用程序切换器按钮)的运行应用程序)
当我注意到它时,我开始用另一个重点进行研究。我发现了两个来源:Disable back button in android和Android - Simulate Home click
所以解决方案就是让Back按钮像主页按钮(底部的中间按钮)一样工作。在不丢失应用程序数据的情况下返回home screen。
这只需放入以下代码即可完成onCreate,这是我唯一的activity代码。
override fun onBackPressed() {
val i = Intent(Intent.ACTION_MAIN)
i.addCategory(Intent.CATEGORY_HOME)
startActivity(i)
}
添加回答
举报
0/150
提交
取消