我正在编写一个带有两个入口点的Android应用程序,这些入口点已定义了目标过滤器,因此两者都出现在应用程序列表中,可以放在主屏幕上并从那里开始(如地图,地点,纬度等等都可以开始不同活动中的地图应用程序)。
两个入口点是“主要”和“列表”。
当用户从主屏幕选择“列表”入口点的图标时,我现在得到的行为如下:
如果该应用未运行,则会启动,然后根据需要在“列表”活动中打开
如果应用程序已在运行(但不在前台)且与“列表”处于不同的活动中,则应用程序将在当前活动中显示在前面,而不是“列表”。
我希望主屏幕“列表”快捷方式始终在“列表”活动中启动应用程序,包括它已经运行并被带到前面的情况。
TaskAffinities和LaunchModes中是否有可用于获得所需效果的内容?
感谢
答案 0 :(得分:0)
最简单的方法是在所有活动的onCreate()
中实现一些代码,这些代码检查恢复应用程序的Intent,如果它匹配列表 intent,则启动该活动
您可以将其标记为 singleTop ,但总的来说,如果您已经在堆栈中有许多活动或者依赖于特定的堆栈排序,我发现它偶尔会混淆一些东西。