0

我有两个活动...一个在 A 应用程序中,另一个在 B 应用程序中。

我正在从 A 应用程序向 B 应用程序调用活动,因此 A 应用程序活动将暂停并向 B 应用程序活动抛出意图,在 B 应用程序活动之后,我将再次返回 A 应用程序活动,因此 A 应用程序活动应该从 onrestart 或onresume() 就像在 onPause() 中一样,但它会在 oncreate() 中。我确信 A 应用程序活动没有被破坏,因为当我点击返回按钮时,它从恢复或重新启动状态开始。

基本上,这两个应用程序活动以循环方式运行,例如 A 应用程序活动 - B 应用程序活动 - A 应用程序活动 - B 应用程序活动 ....................很快

另一种想法是,当我按下返回按钮时,它们都没有被破坏,然后它进入恢复状态,所以没有任何东西被杀死。

有什么办法可以让我的过渡成为——

A 应用程序活动 - B 应用程序活动(A 暂停状态 - B 创建状态) B 应用程序活动 - A 应用程序活动(B 暂停状态 - A 恢复状态)

注意:来自差异应用程序的两个活动

4

2 回答 2

1

很大程度上取决于您如何从一项活动转到另一项活动以及您如何在清单中声明它们。

没有更多代码,我建议你阅读这里的文档,特别注意taskAffinitylaunchMode

于 2013-01-11T14:58:35.540 回答
0

我将再次回到应用程序活动,因此应用程序活动应该从 onrestart 或 onresume() 开始,就像它在 onPause() 中一样,但它将到 oncreate()

正如@Eigor 提到的 - 在这种情况下,操作系统可以喊出停止的活动(不可见,并且在当前进程的活动堆栈中的某处)- Android 操作系统会在不通过的情况下喊出活动onDestroy(),但会通过onSaveInstanceState()回调让您有机会在您点击返回按钮时重新创建活动时保留您想要恢复的任何数据状态。您之前保存的数据将存储在onCreate()

阅读 - http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle )

我猜是因为你不知道操作系统是这样的,所以感觉很奇怪。知道知识并加以考虑应该可以解决您的问题

我确信 A 应用程序活动没有被破坏,因为当我点击返回按钮时,它从恢复或重新启动状态开始。

在这种情况下,应用程序活动没有被破坏的事实不是你可以指望的,这与我之前所说的并不矛盾。在某些情况下,它仍然会被操作系统喊叫而没有onDestroy出于同样的原因而被调用。

关于你想在 A 和 B 之间进行的所有循环:我认为我写的内容可以帮助你理解为什么它没有按你的预期工作......

于 2013-01-11T15:39:29.670 回答