2016-05-17 66 views
1

我有一個初始屏幕,並有主要活動,場景是在主要活動中有一個條件,檢查登錄是否爲真,並有一個「登錄」活動,並有一個名爲「B」的片段。當我按下設備時按鈕在「登錄」活動它主要活動來了,我不想我簡單地想要關閉應用程序,當我按下登錄活動中的設備後退按鈕。如何清除android中的backstack?

這裏是我早在登錄活動壓制代碼: -

@Override 
public void onBackPressed() { 
    if (doubleBackToExitPressedOnce) { 
     super.onBackPressed(); 
     return; 
    } 
    this.doubleBackToExitPressedOnce = true; 
    Toast.makeText(this, "Please again to exit", Toast.LENGTH_SHORT).show(); 
    new Handler().postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      doubleBackToExitPressedOnce = false; 
     } 
    }, 2000); 
+0

當你知道用戶沒有登錄並打開LoginActivity時,只要調用'finish()' –

+0

當你傳遞'Intent'時傳遞'finish()',這將完成當前活動並開始新活動,按下新的應用程序將關閉ans應用程序將退出.. – Mohit

+0

當我按回MainActivity來 – Rajesh

回答

3

使用finish()方法的意圖創造者的活動。

如果你有2個活動 - A和B,以及威盛意圖啓動B,而無需返回到A,A中的意圖將是這樣的:

Intent i = new Intent(); 
       i.setClass(context, MainActivity.class); 
       startActivity(i); 

       // close this activity 
       finish(); 
+0

其中我必須在Login或MainActivity中編寫此代碼 – Rajesh

0

編寫以下行

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    finish(); 
} 

在這裏,回上面按下上面的方法將被調用,它將完成活動。

+0

請注意理解問題,他希望清除後退堆棧而不是關閉屏幕。 –