在採訪中有人問我這個問題。假設在應用程序中有4個活動。他希望後退按鈕在前三個活動中正常工作(即按下後退按鈕前一個屏幕);除了最後一個。如何在不使用意向的情況下打開任何其他活動的首頁活動
他想要的是,當他按下第四個活動(屏幕)上的按鈕時,用戶應該進入家庭活動(開始屏幕或第一屏幕)。但是當用戶從第一個屏幕到第二個屏幕時,Home Activity中的內容應該是相同的。所以我想,我不能使用Intent,因爲它會創建Starting Activity的新實例。
在採訪中有人問我這個問題。假設在應用程序中有4個活動。他希望後退按鈕在前三個活動中正常工作(即按下後退按鈕前一個屏幕);除了最後一個。如何在不使用意向的情況下打開任何其他活動的首頁活動
他想要的是,當他按下第四個活動(屏幕)上的按鈕時,用戶應該進入家庭活動(開始屏幕或第一屏幕)。但是當用戶從第一個屏幕到第二個屏幕時,Home Activity中的內容應該是相同的。所以我想,我不能使用Intent,因爲它會創建Starting Activity的新實例。
他想要的是,當他按下上一個活動(屏幕)上的按鈕時,用戶應該進入家庭活動(開始屏幕或第一屏幕)。
面試官應該爲他或她自己的替補面試,如果他認爲以這種方式攻擊BACK按鈕是個好主意。
所以我想,我不能使用Intent,因爲它會創建Starting Activity的新實例。
添加FLAG_ACTIVITY_REORDER_TO_FRONT
或FLAG_ACTIVITY_CLEAR_TOP
組合和FLAG_ACTIVITY_SINGLE_TOP
與startActivity()
用來使你的「家庭活動」的Intent
。要麼會導致現有的「家庭活動」實例出現在前臺。如果您想要銷燬所有其他活動,請使用第二種方法(FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
)。