在一次采访中,有人问我这个问题。假设应用程序中有 4 个活动。他希望后退按钮在前三个活动上正常工作(即在后退按钮按下时转到上一个屏幕);除了最后一个。
他希望,当他在第四个活动(屏幕)上按下后退按钮时,用户应该转到主活动(开始屏幕或第一个屏幕)。但是当用户从第一个屏幕转到第二个屏幕时,Home Activity 上的内容应该是相同的。所以我认为,我不能使用 Intent,因为它会创建启动 Activity 的新实例。
在一次采访中,有人问我这个问题。假设应用程序中有 4 个活动。他希望后退按钮在前三个活动上正常工作(即在后退按钮按下时转到上一个屏幕);除了最后一个。
他希望,当他在第四个活动(屏幕)上按下后退按钮时,用户应该转到主活动(开始屏幕或第一个屏幕)。但是当用户从第一个屏幕转到第二个屏幕时,Home Activity 上的内容应该是相同的。所以我认为,我不能使用 Intent,因为它会创建启动 Activity 的新实例。
他希望,当他在最后一个活动(屏幕)上按下后退按钮时,用户应该转到主活动(开始屏幕或第一个屏幕)。
面试官应该面试他或她自己的替代者,如果他认为以这种方式破解“返回”按钮是个好主意。
所以我认为,我不能使用 Intent,因为它会创建启动 Activity 的新实例。
添加FLAG_ACTIVITY_REORDER_TO_FRONT
或组合使用FLAG_ACTIVITY_CLEAR_TOP
的withFLAG_ACTIVITY_SINGLE_TOP
来调出您的“家庭活动”。要么将导致现有的“家庭活动”实例出现在前台。如果您希望销毁所有其他活动,请使用第二种方法(和)。Intent
startActivity()
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_SINGLE_TOP