我有两个活动,一个是MainActivity(启动活动),另一个是MaskActivity。如果我从其他应用程序启动我的应用程序,并从MainActivity启动MaskActivity(现在MaskActivity位于MainActivity之上),当我按下手机上的主页按钮并重新进入我的应用程序时,会出现问题,新的MainActivity已启动并置于顶部MaskActivity和旧的MainActivity,这不是我想要的。
但是,如果我从程序列表(而非其他应用程序)启动我的应用程序,事情就像我想要的那样,当重新进入我的应用程序时,没有启动新的MainActivity,而且MaskActivity位于MainActivity之上。
我的MainActivity的launchMode是" singleTop",我不知道这是不是问题所在。只需将其更改为" singleInstance"或其他人无法解决问题。当更改为" SingleInstance"时,它不会启动新的MainActivity,但会将MainActivity置于顶端。但是,如果在程序暂停之前MaskActivity位于MainActivity之上,我希望MaskActivity在程序恢复时保持最佳状态。
有什么想法吗?
答案 0 :(得分:0)
你所要求的是有点不寻常。通常,提供intent-filters的应用程序具有可以处理这些intent过滤器的特定活动。例如,如果您有图像查看应用程序,“图库”活动将处理“视图”意图过滤器。
如果我理解正确,您说两个活动都可以处理您的应用从其他活动启动的情况?也许你的两个活动紧密相连(在功能方面)。也许您应该只有一个Activity,并将两个Activities的视图内容放入Fragments中。这些片段可以隐藏或显示在您的活动中。您的活动可以是singleTask
,并且在启动时始终显示正确的内容(如您所愿)。