2013-07-01 110 views
1

问题很简单:是否有意向标志,其工作方式与按下后退按钮完全相同? (使活动从左侧滑动)Android - 意图“回到”任务堆栈

我需要一个像moveTaskToBack(true)一样工作的意图(如果以前的活动在任务堆栈中)。

我曾尝试使用FLAG_ACTIVITY_CLEAR_TOP调用Activity A(Main),但它并未从“堆栈”中获取它。我认为这是创建一个新的实例,因为如果我按回来,我得到(目的未完成)活动B.

注意:我不想完成活动B因为我需要前进到它在有些情况下,不会丢失已经加载的数据。

+0

发现了什么? –

回答

0

如果您希望它位于堆栈的顶部并将A关闭,您可能需要使用FLAG_ACTIVITY_CLEAR_TOP调用活动B.

如果您不想活动A留在栈上,你可以把你的清单:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
switch (item.getItemId()) { 
     case android.R.id.home: 
     Intent intent = new Intent(this, ActivityA.class); 
     return(true); 
} 

return(super.onOptionsItemSelected(item)); 
} 

如果您正在使用:

<activity 
    android:name=".ActivityA" 
    android:noHistory="true"> 

从你的菜单上去活动A你必须把: android:launchMode =“singleTask”

在您的活动B清单。

希望这有助于。

+0

我希望A总是在堆栈上。我需要使用向上按钮(即使用户按下回家,玩过并回来),从堆栈中将A“退回”。 – Dandy

+0

您是否想让活动A成为您的主页按钮?如果您觉得需要,您也可以为FLAG_ACTIVITY_CLEAR_TOP之间的其他活动做好准备。 – heLL0

+0

是的。活动A是主要活动。我已经从活动B开始了我的问题,因为我需要知道如何以意向“回去”。 我对FLAG_ACTIVITY_CLEAR_TOP的测试没有清除任务,我可以使用硬后退按钮返回B(我不应该) – Dandy