質問

私は自分のアプリケーションのすべての活動を殺すことができる方法は?

私は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);
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top