web-dev-qa-db-ja.com

Androidで新しいアクティビティを開始して現在のアクティビティを終了しますか?

現在、新しいActivityを開始し、現在のfinishを呼び出しています。

コードから手動でIntentを呼び出す必要なく、現在のActivityを終了できるfinishに渡すことができるフラグはありますか?

63
pixel

finish()メソッドを使用するか、次を使用できます。

Android:noHistory="true"

そして、finish()を呼び出す必要はもうありません。

<activity Android:name=".ClassName" Android:noHistory="true" ... />
117
Simon Dorociak

次のようにfinishを使用します。

Intent i = new Intent(Main_Menu.this, NextActivity.class);
finish();  //Kill the activity from which you will go to next activity 
startActivity(i);

FLAG_ACTIVITY_NO_HISTORYは逆のことを行います。新しいアクティビティは履歴に保存されませんが、OPは前のアクティビティの終了を望みます。

Intent.FLAG_ACTIVITY_NO_HISTORYの使用の詳細については、以下をお読みください。 http://developer.Android.com/reference/Android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY

72
Avi Kumar Manku

FLAG_ACTIVITY_NO_HISTORYは、ユーザーが別のアクティビティに移動した後に終了するアクティビティを開始するとき。

http://developer.Android.com/reference/Android/content/Intent.html#FLAG%5FACTIVITY%5FNO%5FHISTORY

4
10s