ユーザーが開いているすべてのアクティビティを終了する場合は、アプリケーションの起動時に実行される最初のアクティビティをロードするボタンを押し、他のすべてのアクティビティをクリアしてから、残りの最後のアクティビティを終了する必要があります。ユーザーが終了ボタンを押したときに次のコードを実行します。私の場合、LoginActivity
プログラムで実行する最初のアクティビティです。
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
上記のコードは、を除くすべてのアクティビティをクリアしますLoginActivity
。そして、次のコードを内部に入れたLoginActivity
のonCreate(...)
ときをリッスンするために、LoginActivity
EXIT 『信号を通過させた再作成され、』:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Androidで終了ボタンを作成するのが難しいのはなぜですか?
Androidは、使用するプログラムがバックグラウンドで実行されているかどうかをユーザーが気にする必要がないため、アプリケーションに「終了」ボタンを配置しないように努めています。
Android OSの開発者は、プログラムが予期せぬシャットダウンや電話の電源オフに耐えられるようにしたいと考えています。ユーザーがプログラムを再起動すると、中断したところから再開します。そのため、ユーザーはアプリケーションを使用しているときに電話を受けたり、アプリケーションを解放してリソースを増やす必要があるマップを開いたりすることができます。
ユーザーがアプリケーションを再開すると、中断することなく中断したところから再開します。この終了ボタンは、アクティビティマネージャーから電力を奪っており、自動的に管理されるAndroidプログラムのライフサイクルに問題を引き起こす可能性があります。