我有两个活动,一个是MainActivity(启动活动),另一个是MaskActivity。如果我从其他应用程序启动我的应用程序,并从MainActivity启动MaskActivity(现在MaskActivity在MainActivity的顶部),当我按下手机上的home键并重新进入我的应用程序时,问题出现了,一个新的MainActivity被启动并放在MaskActivity和旧MainActivity的顶部,这不是我想要的。
但是如果我从程序列表(不是从其他应用程序)启动我的应用程序,事情就像我想要的那样正确,当重新进入我的应用程序时,没有新的MainActivity被启动,MaskActivity是在MainActivity的顶部。
我的MainActivity的launchMode是"singleTop",我不知道这是不是问题。简单地将其更改为"singleInstance"或其他不能解决问题。当更改为"SingleInstance"时,它不会启动一个新的MainActivity,但会将MainActivity放在顶部。但是,如果在程序暂停之前MaskActivity位于MainActivity的顶部,那么我希望在程序恢复时MaskActivity保持在顶部。
任何想法?
你的要求有点不寻常。通常提供意图过滤器的应用都有特定的活动来处理那些意图过滤器。例如,如果您有一个图像查看应用程序,"image gallery"活动将处理"view"意图过滤器。
如果我理解正确的话,你是说两个活动都可以处理你的应用程序从另一个活动启动的情况?也许你的两个活动是紧密相连的(就功能而言)。也许您应该只有一个Activity,并将两个Activity的视图内容放入Fragments中。这些片段可以在Activity中隐藏或显示。你的活动可以是singleTask
,并且在启动时总是显示正确的内容(如你所愿)。