我有一個Activity_A它有一個註銷選項。點擊我所說的登錄活動。所以當我在登錄活動中點擊設備後退按鈕時,我會回到Activity_A,在那裏我有註銷選項。我想要的是,當我點擊設備後退按鈕時,我登錄活動它必須帶我到設備主屏幕。例如「關閉應用程序」或「清除活動堆棧」。通過重寫設備回退按鈕避免顯示以前的活動
我嘗試這樣做:
Intent intent = new Intent(Activity_A.this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
,但它沒有工作,我也嘗試使用面漆()INT上面的代碼,那麼就需要我Activity_A之前,我叫(如預期)的活動。
我搜索了我的案例,並找不到完美的解決方案,有人可以幫我實現我想要的嗎?
和我有一個想法覆蓋設備後退按鈕onClick我的登錄活動,以便它顯示設備的主屏幕,並清除所有的活動堆棧....有可能嗎?如果是的話,它安全嗎?
這是我在LoginActivity已經做到了,這工作就像我想
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
但是否有任何其他方式不中重寫onBackPressed來實現這一()?
呼叫this.finish();在onBackPressed()中終止當前活動。 – iNan
當您開始「登錄活動」時,在'Activity_A'中調用'finish()'。這樣,'Activity_A'將被清除,當你在'登錄活動'上按'back'時,你將被帶回到主屏幕。 –
是的,但考慮一個案例,我去A ---> B ----> C ---> D,A是我的登錄活動,D是我的註銷活動,現在如果我添加完成();在活動D和使用設備後面的登錄活動,我將最終在活動C權利?? ...不是主屏幕....如果我寫完();在所有的活動....我不能從D回到C,C到B或B到A這是不是我想要的 –