フラグ startActivityを使用して、スタック上のすべてのアクティビティをクリアしようとしています。Intent(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY)
(すべてのアクティビティをリセットして終了する終了ボタンがあり、「終了ボタンの作成方法、アプリの終了方法」の質問/回答をすべて試しましsingleInstance launchModeたMainActivity。
通常、これは機能し、 を呼び出さずに現在のアクティビティを自動的に終了するはずfinish()です。ただし、 MainActivity をsingleInstanceのようにマークしたためAndroidManifest.xml、機能しません。それを削除するとsingleInstance、期待どおりに機能します。
すべてのスタックをクリアするために をfinish()起動した直後/直前に手動で呼び出すと、アプリはスタック上の以前のアクティビティに戻ります。しかし、私はすでに. だから、すべてが台無しになります。MainActivityfinish()MainActivity
(私はそれが何かを変えるかどうかを確認するためにIntent.FLAG_ACTIVITY_SINGLE_TOPand tooを追加しようとしましたが、そうではありませんでした)Intent.FLAG_ACTIVITY_MULTIPLE_TASK
singleInstanceで動作し、マニュアルを必要としないソリューションが必要ですfinish()。
更新 1:アクティビティIntentからこれを起動しようとしましたSingleTop(ただし、変更しても何も変わりません)
更新 2: Android 2.3.3 エミュレーターでこれを試します