我有一个申请。流程是 -
启动画面--->主屏幕--->物品清单屏幕--->项目详细信息屏幕
在我的应用程序中,我在项目列表屏幕和项目详细信息屏幕上有主页按钮功能。
当我在项目详情屏幕上按主页按钮时,会返回主屏幕。这是预期的行为。
但是当我按主屏幕上的后退按钮时,会将我带回项目详细信息屏幕。( this是我不想要的)
我尝试使用完成()杀死项目详细信息屏幕,但随后活动堆栈中的最后一项活动是项目列表屏幕。
主屏幕上的后退按钮现在将我带到项目列表屏幕。
当用户在主屏幕上时,有没有办法清除活动堆栈。在这方面的任何帮助将受到高度赞赏。
答案 0 :(得分:2)
您应该使用其他意图标记启动主屏幕活动:
// create intent
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
这将清除活动堆栈到主屏幕活动。此活动将简单地呈现,而不是重新创建。此外,这可以保证只有一个主屏幕活动,这可能是你想要的。
答案 1 :(得分:1)
使用Intent flag FLAG_ACTIVITY_CLEAR_TOP
清除堆栈:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
按下“主页按钮”时,您应该调用此代码。