私のアプリには 3 つのアクティビティが含まれています。A、B、C としましょう。A はスタートアップ アクティビティです。この方法でアプリを実行します - A -> B -> C 今、ホームキーを押します (ホーム画面が表示されます)。もう一度アプリアイコンを押してアプリを開始すると、前面のアクティビティCから開始します。しかし、ホーム画面でアプリのアイコンを押すと、アプリは常にアクティビティ A から開始されます。
どうすればできますか?
私のアプリには 3 つのアクティビティが含まれています。A、B、C としましょう。A はスタートアップ アクティビティです。この方法でアプリを実行します - A -> B -> C 今、ホームキーを押します (ホーム画面が表示されます)。もう一度アプリアイコンを押してアプリを開始すると、前面のアクティビティCから開始します。しかし、ホーム画面でアプリのアイコンを押すと、アプリは常にアクティビティ A から開始されます。
どうすればできますか?
ホームボタンを上書きすることをお勧めします
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
Toast.makeText(this, "You pressed the home button!", Toast.LENGTH_LONG).show();
// finish activities here
return true;
}
return super.onKeyDown(keyCode, event);
}
OnPause 中にアクティビティ B と C を完了する
onPause(){ finish();}
onPause()
{
B.this.finish();
C.this.finish();
}
これにより、アクティビティ スタックから B と C のアクティビティが削除されるため、アクティビティ B と C は再び表示されなくなります。