2016-08-24 77 views
0

我得到一個服務,發送通知。 當您點擊通知時,它會打開一個活動。 我想單擊按鈕時關閉此活動。 我使用finish();,但它關閉了活動並打開了應用程序的主要活動。 我不知道如何關閉它,它回到最後的「屏幕/應用程序」通知打開活動,我需要關閉它後

+0

使用'finishAndRemoveTask()'API 21可用。 – cprakashagr

+0

我認爲[這個答案](http://stackoverflow.com/a/15652384/4935567)可能會幫助你。 –

回答

0

只是路由到您要打開的按鈕的onClickListener內部打開的頁面的內容()

像這樣的事情

Button buttonX = (Button)findViewById(R.id.buttonXName); 
buttonX.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) 
    { 
     // DesiredActivity is the activity you want to open on click 
     Intent intent = new Intent(CurrentActivity.this, DesiredActivity.class); 
     startActivity(intent); 
     finish(); 
    } 
}); 
+0

我找到了解決辦法:this.finishAffinity(); –

+0

順便說一下:'this.'可以被忽略 –

0

你並不需要直接完成;你需要onBackPressed(),因爲你從這裏(手機的主屏幕/另一個應用程序)來到這個活動。

所以,當你調用onBackPressed()它將關閉應用程序:

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    //supportFinishAfterTransition(); finish activity after going back 
    //if want overridePendingTransition(R.anim.nothing, R.anim.slide_out_right); 
} 

此外,您可以後super.onBackPressed()線仍然添加supportFinishAfterTransition()如果你想完成你的活動。

添加後,在onClick方法中調用此方法:onBackPressed(),這樣您也可以添加自定義轉換。