考慮一個假設的電子銀行應用程式,其流程如下:
HomeActivity -> CurrencyConverterActivity -> PickContactActivity -> InputDataTransferActivity -> TransferReviewActivity -> TransferConfirmationActivity
所有活動(除了HomeActivity)呼叫與通常的startActivity()和沒有finish()。這是有意為之,因此用戶可以查看上一螢屏上的輸入。但是一旦你到達 TransferConfirmationActivity 并按回,我想回到 HomeActivity(其他活動被殺死)。
這該怎么做?
uj5u.com熱心網友回復:
我認為您可以使用Intent.FLAG_ACTIVITY_CLEAR_TOPflag 來實作這一點。
根據Android 檔案關于FLAG_ACTIVITY_CLEAR_TOP
如果設定,并且正在啟動的活動已經在當前任務中運行,那么它不會啟動該活動的新實體,而是將關閉它之上的所有其他活動,并且此 Intent 將被傳遞到(現在在頂部)舊活動作為新意圖。
val intent = Intent(this, HomeActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent)
uj5u.com熱心網友回復:
啟動 HomeActivity 并在意圖中添加標志
Intent intent = new Intent(activity, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/338291.html
