0

我有两个活动,一个是MainActivity(启动活动),另一个是MaskActivity。如果我从其他应用程序启动我的应用程序,并从 MainActivity 启动 MaskActivity(现在 MaskActivity 在 MainActivity 之上),当我按下手机上的主页按钮并重新进入我的应用程序时会出现问题,一个新的 MainActivity 被启动并放在上面MaskActivity 和旧的 MainActivity,这不是我想要的。

但是,如果我从程序列表(而不是从其他应用程序)启动我的应用程序,事情就会如我所愿,当重新进入我的应用程序时,不会启动新的 MainActivity 并且 MaskActivity 位于 MainActivity 之上。

我的MainActivity 的launchMode 是“singleTop”,不知道是不是这个问题。只需将其更改为“singleInstance”,否则其他人无法解决问题。当更改为“SingleInstance”时,它不会启动新的 MainActivity,但会将 MainActivity 置于顶部。但是,如果在程序暂停之前 MaskActivity 位于 MainActivity 的顶部,我希望 MaskActivity 在程序恢复时保持在顶部。

有任何想法吗?

4

1 回答 1

0

你要求的有点不寻常。通常,提供意图过滤器的应用程序具有可以处理这些意图过滤器的特定活动。例如,如果您有一个图像查看应用程序,“图像库”活动将处理“视图”意图过滤器。

如果我理解正确,您是说这两个活动都可以处理您的应用程序从另一个活动启动的情况?也许您的两个活动密切相关(在功能方面)。或许你应该只有一个Activity,把两个Activity的视图内容放到Fragment中。这些片段可以隐藏或显示在您的活动中。您的 Activity 可以singleTask,并且在启动时将始终显示正确的内容(如您所愿)。

于 2014-05-07T21:51:58.280 回答