3つのアクティビティを持つAndroidアプリケーションがあります。1番目と2番目のアクティビティでは、戻るボタンで既存のすべてのアクティビティを終了します。
戻るボタンが開始されたアクティビティを終了している時点で、2番目のアクティビティを押すと、最初のアクティビティが2番目につながるときにアプリケーションを終了するのではなく、1番目のアクティビティが表示されます。
この機能が必要な理由は、1番目と2番目のアクティビティがクロノメータータイマーを使用しているためです。クロノメータータイマーは、必要なHOMEボタンが押されたときに実行され続けます。しかし、戻るボタンを使用してアプリケーションを完全に終了するには、タイマーをリセットする方法が必要です。
これが、1番目と2番目のアクティビティの両方に存在する戻るボタンのコードです。
@Override
public void onBackPressed() { // method for exit confirmation
AlertDialog.Builder builder = new AlertDialog.Builder(BreakActivity.this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
BreakActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
};
私は次のコードを使用する可能性を調査しました:
intent = new Intent(this, FinActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
finish();
ただし、これをどこに実装すればよいかわからないため、[戻る]ボタンを押した後に確認メッセージが表示された後に[はい]を選択した場合にのみ、すべてのアプリケーションを終了したいと思います(最初のコードスニペットを参照)。
これを機能させるための助けをいただければ幸いです。
ありがとうございました