在一次采访中有人问我这个问题。假设申请中有4项活动。他希望后退按钮能够在前三个活动中正常工作(即按下后退按钮上的前一个屏幕);除了最后一个。
他想要的是,当他按下第四个活动(屏幕)上的按钮时,用户应该转到主页活动(开始屏幕或第一个屏幕)。但是当用户从第一个屏幕进入第二个屏幕时,Home Activity上的内容应该相同。所以我认为,我不能使用Intent,因为它将创建Starting Activity的新实例。
答案 0 :(得分:7)
他想要的是,当他按下最后一个活动(屏幕)上的按钮时,用户应该转到主页活动(开始屏幕或第一个屏幕)。
面试官应该为自己的替代者进行面试,如果他认为以这种方式攻击BACK按钮是个好主意。
所以我认为,我不能使用Intent,因为它会创建Starting Activity的新实例。
将FLAG_ACTIVITY_REORDER_TO_FRONT
或FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
的组合添加到与Intent
一起使用的startActivity()
,以显示您的“家庭活动”。这两种情况都会导致现有的“家庭活动”实例出现在前台。如果您希望销毁所有其他活动,请使用第二种方法(FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
)。