我的活动导航和返回堆栈有问题,我希望您能为我解决这个问题。
问题
根 Activity >>> SecondActivity >> HomeButton
然后,这将带我进入主页,然后我从那里选择...
Gmail >> 消息 >> 在我的应用程序中打开附件 >> ImportActivity >> RootActivity
结果是一个新任务正在启动,并且我的应用程序的另一个实例正在使用。这是不可接受的,因为我不想运行两个单独的任务,我只想要一个。
期望的结果
我想要发生的是当用户打开附件并且导入活动完成它正在做的事情(它有android:noHistory
设置为 true)并调用startActivity(intent)
, RootActivity
已启动,但在原始任务中仅保留一个实例和其上的其余活动(在本例中SecondActivity
)被删除。
我想要这个的原因是,如果用户在导入文件后导航出我的应用程序,然后触摸应用程序图标,它会使用其后堆栈加载第一个任务,并且我正在运行两个任务,其中用户可以处于两个不同的部分我立即申请。
我尝试过的
我已经尝试过启动模式,但它们都没有真正为我提供我需要的功能。
我尝试过的启动模式..
android:launchMode="singleTask"- 每次启动时,这都会再次启动根活动。即使用户按下我的应用程序内的主页按钮并触摸应用程序图标,后堆栈也会被破坏。
android:launchMode="singleInstance= 不允许任务中运行任何其他活动。
另外,当调用意图启动时RootActivity
我已经使用了以下内容,但没有效果。
Intent i = new Intent(ImportActivity.this,TrackingActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
可以做我想做的事吗?
提前致谢