我阅读了很多关于这个主题的主题,但我找不到任何适合我需要的东西。
我有一个包含 3 个活动的应用程序(在这里我将它们称为屏幕,更直观):A(MainActivity)、B 和 C。
屏幕 A 启动另一个进程,从该进程中检索一些信息并根据答案设置布局。然后它让你有机会做某事(写一篇文章)。这是在 OnCreate() 上完成的。
屏幕 B 不是很有趣(显示文本并允许您对其进行编辑)。
屏幕 C 有一个退出应用程序的按钮(基本上是启动 home 活动)。C 还关闭了我们在 A 上启动的进程(在向它传达了一些信息之后)。
到目前为止,一切都很好。问题是当我重新启动我的应用程序时,我再次看到屏幕 C。这对我不利,因为我希望用户能够编辑文本,而不必返回第一个或第二个屏幕(不是因为它很难,而是因为我需要他看到呈现在在他做任何事情之前屏幕 A。而这不能在 C 之后完成,因为在 C 之后他完成了,除非他决定重新启动应用程序)。
这意味着当我到达屏幕 C 并按下按钮时,我的应用程序已完成,我在那里无事可做(但要重新开始)。但是,如果我的应用程序在屏幕 B 上暂停,则无需重新开始 - 我可以回到它并从那里继续(常规的 Android 行为)。
所以我设置android:clearTaskOnLaunch="true"
了,但现在我有两个问题:
1. 即使应用程序在 B 上暂停,它现在又重新开始(有点,见 #2),这不是我需要的。
2. 它并没有真正重新开始......是的,我看到了屏幕 A。但是我在 OnCreate() 上所做的所有事情都没有再次完成,这意味着我的其他进程没有启动并运行,然后我的应用程序崩溃了,因为我没有人可以说话......
这种情况有什么解决办法吗?只有在应用程序的上一次运行完成之后(我们按下屏幕 C 上的单个按钮并返回主屏幕),我才需要重新开始(但真的很新鲜,我在 OnCreate() 上所做的所有事情都会再次完成)。在任何其他暂停情况下(如果我们还没有按下按钮,在 A、B 甚至 C 中)我想要正常的 Android 行为(即返回到同一屏幕)。
任何帮助都感激不尽。