基本上我的應用程序有一個登錄屏幕,一旦記錄你可以經歷許多活動。當我按主頁按鈕時,應用程序將在後臺運行,如果用戶在一定時間內未打開它,則用戶會話關閉並返回到登錄屏幕。現在的問題是,如果我想從loginScreen關閉應用程序,一旦我的會話過期,我按下後退鍵,它應該關閉,但它沒有。它將我帶入堆棧中的前一個元素。乾淨的堆棧和退出應用程序onBackPressed()
有線的是,在所有onBackPressed()方法,並當過我開始新的意圖我總是用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
並在loginScreen onBackPressed()我叫finish()
但它不工作。有誰知道爲什麼?以及我如何解決這個問題。
感謝您的幫助!
代碼片段 許多活動:
@Override
public void onBackPressed() {
mpButtonClick.start();
Intent intent = new Intent(this, MenuPagina.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
super.onBackPressed();
}
在loginActivity
:
@Override
public void onBackPressed() {
super.onBackPressed();
getIntent().setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
LoginActivity.this.finish();
}
發佈您的代碼,請。 –
編輯它與一些代碼 – Pheonix7
這可能是完全錯誤的,我的一部分愚蠢,但是,這是否有關係super.onBackPressed();在清除意圖/完成之前發生了什麼? – Tony