ログアウトオプションのあるActivity_Aがあります。それをクリックすると、ログインアクティビティを呼び出します。したがって、ログインアクティビティでデバイスの戻るボタンをクリックすると、ログアウトオプションがあるActivity_Aに戻ります。ログインアクティビティでデバイスの戻るボタンをクリックすると、デバイスのホーム画面に移動する必要があります。「アプリケーションを閉じる」や「アクティビティスタックをクリアする」など。
私はこれを試しました:
Intent intent = new Intent(Activity_A.this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
しかし、それは機能しませんでした。上記のコードでfinish()を使用してみたところ、Activity_Aの前に呼び出したアクティビティに移動しました(予想どおり)。
私は自分のケースを検索しましたが、完璧な解決策を見つけることができませんでした。誰かが私が望んでいたことを達成するのを手伝ってくれませんか?
ログインアクティビティをクリックして、デバイスの戻るボタンonClickをオーバーライドして、デバイスのホーム画面を表示し、すべてのアクティビティスタックをクリアすることを考えています。はいの場合、それは安全ですか?
これは私がLoginActivityで行ったことであり、私が望んでいたように機能します
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
しかし、onBackPressed()をオーバーライドせずにこれを達成する他の方法はありますか?