簡體   English   中英

如何清除android中所有以前的Activity堆棧?

[英]How to clear all previous back-stack of Activities in android?

我想清除所有先前的活動堆棧並啟動新的活動。 但是,當我按返回鍵時,控制權轉到先前的活動。 我尚未完成之前的所有活動。 當我注銷時,我想退出應用程序。 我用下面的標志:

intentLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intentLogin.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

並在AndroidManifest.xml中添加以下行

android:launchMode="singleInstance" 

但是在啟動新活動之前會出現白屏。

我也將主題更改為半透明,但是在啟動活動時,但有一段時間顯示了Android主頁圖標。

我不想使用:

moveTaskToBack(true);

只是故意設置此標志,

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

我希望這能幫到您

 logoutButton.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    SharedPreferences myPrefs = getSharedPreferences("Activity",
                            MODE_PRIVATE);

                    /*AppState.getSingleInstance().setLoggingOut(true);*/
                    setLoginState(true);
                    Log.d(TAG, "log out and go to first activity");
                    Intent intent = new Intent(HomePage.this,
                            LoginPage.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  /*  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |   
                                       Intent.FLAG_ACTIVITY_CLEAR_TASK);*/
                    startActivity(intent);
                    finish() // finish this activity 

                }
            });

暫無
暫無

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

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