1

私のアプリには、B と B をトリガーするアクティビティ A があり、次に C をトリガーします。

アクティビティ A は、マニフェスト ファイルでインテント フラグ android:noHistory="true" を持つランチャーです。これはスプラッシュ画面を示しています。2 秒後、インテント フラグ FLAG_ACTIVITY_NO_HISTORY で B をトリガーします。B はインテント フラグなしで C を正常にトリガーします。これで、スタックにはアクティビティ C のみが含まれます。

アクティビティ C では、戻るキーが押されるたびにアクティビティ B がトリガーされます。これで、スタックにはアクティビティ B だけが含まれるはずです。他のアクティビティの痕跡があってはなりません。

アクティビティ C で次のコードを使用しました。ただし、フラグ FLAG_ACTIVITY_NEW_TASK は API 11 からのみ使用できます。アプリは API 8 のデバイスをサポートする必要があります。説明されたシナリオを実現するための正しいインテント フラグを教えてください。

コード:

         Intent dragDropIntent = new Intent("android.intent.action.DRAGDROP"); 
         dragDropIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
         dragDropIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

nohistory なしでアクティビティ C を開始すると役立つことに同意します。しかし、私がやりたくない技術的な制約はありません。前もって感謝します

4

3 に答える 3

3

このフラグは、互換性ライブラリを通じて利用できるようになりました:

IntentCompat.FLAG_ACTIVITY_CLEAR_TASK

お役に立てれば :)

于 2014-11-24T08:36:15.097 に答える