簡體   English   中英

停止Android應用程序的所有活動和片段

[英]Stop all activities and fragments of Android application

要斷開與我正在開發的應用程序的連接,請停止所有活動並啟動LoginActivity。 為此,我使用下面的代碼。 LoginActivity已啟動,但是當我單擊手機的后退按鈕時,我再次連接,但未提供登錄名和密碼。

注意:我的應用程式中也有片段!

你能幫我嗎。

// After logout redirect user to Loing Activity
        Intent i = new Intent(_context, LoginActivity.class);
        // Closing all the Activities
        i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

        // Add new Flag to start new Activity
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        // Staring Login Activity
        _context.startActivity(i);

調用i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)在Intent標志中設置標志Intent.FLAG_ACTIVITY_CLEAR_TOP 然后您執行以下操作:

    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Intent.FLAG_ACTIVITY_NEW_TASK Intent標志的內容設置為Intent.FLAG_ACTIVITY_NEW_TASK ,從而清除您先前設置的標志Intent.FLAG_ACTIVITY_CLEAR_TOP

您不需要使用Intent.FLAG_ACTIVITY_NEW_TASK ,因為這實際上不會啟動新任務(因為所有活動都具有相同的taskAffinity )。

設置Intent.FLAG_ACTIVITY_CLEAR_TOP應該足以完成您想要的操作。 但是,您需要確保您的LoginActivity在任務中仍然處於活動狀態(即:您不應該在其上調用finish() )。 如果您的任務的活動堆棧中不存在您的LoginActivity (因為您已經在其上調用了finish() ),則Android只會創建一個新的LoginActivity實例並將其放在堆棧頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM