アプリケーションにスプラッシュ画面があります。ユーザーがホーム画面にいて、戻るボタンを押したとき。「終了しますか?」という警告ダイアログが表示されます。が表示され、ユーザーが[OK]を選択すると、moveTaskToBack(true);が呼び出され、アプリが終了します。ただし、アプリケーションをすぐに起動しても、スプラッシュ画面は表示されません。アプリケーションを起動するたびにスプラッシュ画面を表示するにはどうすればよいですか?
4 に答える
スプラッシュ画面の作成方法に関するいくつかの指針。
私たちが持っていると言うSplashActivityとHomeActivity。
SplashActivityランチャーアクティビティ(マニフェスト内)である必要があります。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
開始するときは、戻るボタンをクリックしても元に戻らないように呼び出すHomeActivity必要があります。finish()SplashActivity
HomeActivity戻るボタンをインターセプトしてダイアログを表示する場合、アプリケーションをバックグラウンドに移動するだけで終了しないため、[OK]を呼び出さないでmoveTaskToBack(true);ください。
finish()代わりに電話する必要があります。そして、すでにfinish onを呼び出しているので、SplashActivity残っているアクティビティは、だけHomeActivityなので、アプリケーションは閉じます。
理想的には、そうするべきではありません。アプリの動作に対するユーザーの期待を尊重する必要があります。彼がアプリをクリックすると、アプリは離れた場所から開始する必要があります。メモリの制約のためにアプリが強制終了された場合、アプリは新たに起動します。
それでもやりたい場合:出典:アプリケーションを閉じてAndroidでホーム画面を起動する
Intent intent = new Intent(this, FinActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
FinActivityの内部:onCreateでfinish()を呼び出します。
SplashScreenは、アプリの起動時にのみ表示されると思います。
したがって、Acitivitesが終了していないが一時停止しただけの場合、アプリが実際に閉じられていないため、SplashScreenは表示されません。
戻るボタンが押されたときにアプリケーションを終了するか(コード:)、アプリがバックグラウンドにあるthis.finish()かどうかをすべてのアクティビティのメソッドで確認しonResume()、trueの場合はスプラッシュスクリーンを表示することができます。