私は私は本当に奇妙なバグを見つけたと思います...しかし、それはちょうど私が聞いたことがない機能のsomekindすることができます。..私のアプリケーションでアンドロイド:FLAG_ACTIVITY_CLEAR_TOPとAndroid:launchMode =「singleInstance」
launchMode =「singleInstance」次のコードで特定のポイントに「クリーン」スタックにしてみてください:
Intent intent = new Intent(this, Xpto.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
それはその活動に行く..しかし、ときに私はアンドロイドとAndroidManifest上の任意の活動を持っている場合あなたは戻る、それは前に戻ります。終了したはずです...
例:
A - > B - > C私はIntent.FLAG_ACTIVITY_SINGLE_TOPでA呼び出すCから次に
| Intent.FLAG_ACTIVITY_CLEAR_TOPはマニフェストにsingleInstanceを持ちます。それはAに行くが、それは正面にそれをもたらすだけで、CとBを終了しません。誰かがこの動作を説明できますか?
私が呼び出すXptoクラスは、その時点でスタックのルートアクティビティです。
このスレッドを読んでから感謝
それに対する答えはありませんでした。 – neteinstein
私はあなたが説明したシナリオで、アクティビティA(これはルートアクティビティ)を開始したときにアクティビティのBとCが終了しないのはなぜか説明すると思います。私が説明しようとしたことは、ドキュメントが、singleInstanceの起動モードとフラグFLAG_ACTIVITY_SINGLE_TOPを設定すると、アクティビティBとCが完了しないことを説明していることです。アクティビティBとCを終了するには、起動モードを複数のインスタンスに設定し、フラグFLAG_ACTIVITY_SINGLE_TOPを設定しないでください。お役に立てれば。 – groffhibbitz