带有第二个入口点的Android应用程序 - 当被带到前面时切换到第二个入口点

时间:2011-05-07 15:18:24

标签: android

我正在编写一个带有两个入口点的Android应用程序,这些入口点已定义了目标过滤器,因此两者都出现在应用程序列表中,可以放在主屏幕上并从那里开始(如地图,地点,纬度等等都可以开始不同活动中的地图应用程序)。

两个入口点是“主要”和“列表”。

当用户从主屏幕选择“列表”入口点的图标时,我现在得到的行为如下:

  • 如果该应用未运行,则会启动,然后根据需要在“列表”活动中打开

  • 如果应用程序已在运行(但不在前台)且与“列表”处于不同的活动中,则应用程序将在当前活动中显示在前面,而不是“列表”。

我希望主屏幕“列表”快捷方式始终在“列表”活动中启动应用程序,包括它已经运行并被带到前面的情况。

TaskAffinities和LaunchModes中是否有可用于获得所需效果的内容?

感谢

1 个答案:

答案 0 :(得分:0)

最简单的方法是在所有活动的onCreate()中实现一些代码,这些代码检查恢复应用程序的Intent,如果它匹配列表 intent,则启动该活动

您可以将其标记为 singleTop ,但总的来说,如果您已经在堆栈中有许多活动或者依赖于特定的堆栈排序,我发现它偶尔会混淆一些东西。