すべての私のアプリケーションの活動を殺すためにどのように?
-
25-09-2019 - |
質問
私は自分のアプリケーションのすべての活動を殺すことができる方法は?
私はthis.finish()
を使用してみましたが、それはただ一つの活動を殺します。
実際には、私は同じことを行うために、アプリケーションをしたいと思います。
解決
あなたはAndroidManifest.xmlをですべてのあなたの活動のためのandroid:noHistory="true"
を設定することができます。そこで彼らは、ホーム画面にあなたをもたらすでしょう履歴スタックと戻るボタンの上に自分自身を配置しないでしょう。
他のヒント
これは前に何度も議論されています。基本的に簡単な方法はありません、とがあるようになっていません。ユーザー(あなたが指摘したように)あなたのアプリケーションを終了してホームを押します。
onBackPressed
メソッドをオーバーライドして、彼らはホームボタンを押したときに何が起こるかを行います。それは本当にすべての活動を閉じるが、何をしているの提示は、特定の活動のバックプレスは、ホームボタンをエミュレートすることではないです。
@Override
public void onBackPressed() {
Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}
あなたが戻って押したときの活動に家を行くことを置きます。 onBackPressed
法の本来の実装は、スーパーへの呼び出しが含まれていることを注意、それは意図的に削除されます。私はこの質問は超古いですけど、彼は明示的に他の何か
すべての活動を殺すために、onBackPressedにこれらのコードを使用します。
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount()>0) {
getFragmentManager().popBackStackImmediate();
} else {
finishAffinity();
System.exit(0);
}
}
所属していません StackOverflow