2016-07-31 2 views
3

Androidアプリを起動すると、メインアクティビティが開始されます。 5秒間フルスクリーンイメージを表示し、インテントを使用して別のアクティビティにジャンプします。私が望むのは、メインアクティビティを終了させるのではなく、メインアクティビティを開くのではなく、ナビゲーションバーの戻るボタンを押したときに閉じるようにすることです。特定のアクティビティを強制終了するにはどうすればいいですか?

もうひとつ: - 私は以前の活動を破壊し続けたくありません。私はちょうど新しいアクティビティにインテントが送られた直後にその1つのアクティビティ(つまりメインアクティビティ)を殺したいと思っています。私はもっと多くのアクティビティを追加する予定です。

私の本当の目的は、メインアクティビティの破壊であり、次のアクティビティ(他のアクティビティのうちのすべて)をナビゲーションバーの戻るボタンを使用してリービングできるアクティビティとすることができます。

私は言葉で私の問題を正しく説明することはできませんが、私が何を言及したのか、私の問題を理解しようとしてください。あなたは次のアクティビティを開始している場合は、あなたがコードでMainActivityfinish();

メソッドを使用する必要がActivityを殺すために

答えて

7

、このような二アクティビティを呼び出します。

Intent intent=new Intent(this,<your second activity.class>; 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
finish(); 
+0

ありがとうございました。とても役に立ちました。それは私が望むように適切に動作します。 –

3

finish();を追加:あなたのMainAcitivity

Intent i = new Intent(MainActivity.this, NextActivity.class); 
startActivity(i); 
finish(); 
+0

私はすでに私の質問に答えましたが、finish()の使用を教えてくれてありがとう –

+0

Ok!笑。やったよ。とにかく、助けてくれてありがとう。 –

5

AndroidManifest.xmlへ
android:noHistory="true" 

、特にMainActivity定義で

+0

申し訳ありませんが、それは私が起こりたくない以前の活動を殺し続けます。 –

+0

これは、スタックに保存しないアクティビティ、つまりMainActivity – Lino

+0

Okにのみ追加する必要があります。わかった。これにより、主要アクティビティの履歴のみが消去されます。正しい? –

0

何を達成しようとしているのは、スプラッシュ画面と呼ばれています。

メインアクティビティで別のアクティビティを開始し、ユーザーが別のアクティビティを押した場合は、単にメインアクティビティの終了を呼び出します。子供の前に親の活動を破壊するのは面倒です。

寒いアプリの起動でグーグルスプラッシュ画面をお勧めします。

関連する問題