Android:意外的近期应用行为
我们的应用程序有两个活动-一个是Android:意外的近期应用行为,android,Android,我们的应用程序有两个活动-一个是main活动(与启动器图标关联),另一个是AuxActivity,用于处理URI事件 我发现此场景存在问题,我的应用程序最初退出: 打开浏览器,单击URI以启动AuxActivity AuxActivity退出(调用finish()),用户返回浏览器 用户调出最近的应用程序(长按home),并选择我的应用程序 我看到的不是启动MainActivity,而是启动auxaActivity的意图与表示URI单击的意图相同(android.intent.action.VI
main活动
(与启动器图标关联),另一个是AuxActivity
,用于处理URI事件
我发现此场景存在问题,我的应用程序最初退出:
AuxActivity
AuxActivity
退出(调用finish()),用户返回浏览器MainActivity
,而是启动auxaActivity
的意图与表示URI单击的意图相同(android.intent.action.VIEW
)
现在,如果用户要通过主屏幕图标打开我的应用程序,而不是第3步,那么我将返回到MainActivity
,正如预期的那样
如何让步骤3启动
MainActivity
?根据Tim的建议,添加
android:excludeFromRecents="true"
到清单中的auxActivity列表?这有帮助吗?不确定这是否有效,但您也可以尝试: android:noHistory=“true” 是否应从中删除活动 当 用户离开它,它在屏幕上不再可见- 如果应该完成,则为“真”,否则为“假”。默认值 是“假”。值“true”表示活动不会留下 历史痕迹。它将不会保留在的活动堆栈中 任务,因此用户将无法返回到该任务。这个属性是 在API级别3中引入
将其放入AuxActivity的onCreate中:
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) > 0) {
// do something different e.g. launch MainActivity
}
我不确定,但我不认为你可以指出另一个活动,如果没有auxActivity中的某种逻辑,它能够以某种方式确定MainActivity是应该启动的,并让用户跟随该活动。我认为你可以在启动auxActivity时使用一些manifest属性和/或intent标志,使它不会出现在最近使用的应用程序列表中。(但我不知道我脑子里想的是什么)