我正在製作一個需要註銷的Android應用程序。我已經實現了註銷功能,但問題出在我點擊後退按鈕時。之前的活動開始。在註銷時,清除活動歷史堆棧,防止「後退」按鈕從最後打開活動
我已經嘗試通過將其Intent標誌設置爲FLAG_ACTIVITY_CLEAR_TOP來打開登錄活動,這似乎是按照文檔中概述的方式執行的,但沒有實現我將Login活動放置在歷史堆棧底部的目標,並且防止用戶導航回到之前看到的登錄活動。我也嘗試在清單中使用android:launchMode =「singleTop」作爲登錄活動,但是這也不能完成我的目標(並且似乎無論如何都沒有效果)。
我使用的follpowing代碼:
private OnClickListener clickLogoutListener = new OnClickListener() {
public void onClick(View v)
{
AlertDialog.Builder builder = new AlertDialog.Builder(HomePage.this);
AlertDialog alertDialog = builder.create();
alertDialog.setMessage("Do you want to logout??");
alertDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
Intent intent1 = new Intent(getApplicationContext(), Login.class);
//intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
intent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent1);
finish();
}
});
alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
}
});
alertDialog.show();
}
};
我回答同樣的問題http://stackoverflow.com/questions/7635060/how-to-clear-activity-stack-on-button -click-in-android/7635220#7635220 – ingsaurabh