2

アプリケーションのすべてのアクティビティを強制終了するにはどうすればよいですか?

使用してみthis.finish()ましたが、1 つのアクティビティを殺すだけです。

実際、ユーザーが (アクティビティの 1 つだけで) 戻るボタンに触れたときに、アプリケーションがホーム ボタンを押した場合と同じように動作するようにしたいと考えています。

4

4 に答える 4

2

android:noHistory="true"AndroidManifest.xml ですべてのアクティビティを設定できます。したがって、それらは履歴スタックに配置されず、戻るボタンでホーム画面に移動します。

于 2010-08-31T14:34:20.373 に答える
1

これは以前から何度も議論されてきました。本質的に簡単な方法はありません。ユーザーはホームを押してアプリを終了します (ご指摘のとおり)。

于 2010-08-31T14:31:32.183 に答える
0

メソッドをオーバーライドしonBackPressed、ホームボタンを押したときに何が起こるかを実行します。すべてのアクティビティを実際に閉じるわけではありませんが、特定のアクティビティのバックプレスがホームボタンをエミュレートすることを求めています。

@Override
public void onBackPressed() {
    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

それをアクティビティに配置すると、戻ると家に帰ります。メソッドの元の実装にはonBackPressedsuper への呼び出しが含まれていることに注意してください。これは意図的に削除されています。この質問が非常に古いことは知っていますが、彼は明確に別のことを尋ねています

于 2016-06-15T08:06:16.167 に答える
0

すべてのアクティビティを強制終了するには、onBackPressed でこれらのコードを使用します。

@Override
public void onBackPressed() {
    if (getFragmentManager().getBackStackEntryCount()>0) {
       getFragmentManager().popBackStackImmediate();            
    } else {
          finishAffinity();
          System.exit(0);
    }
}
于 2017-07-12T19:53:52.177 に答える