0

アクティビティ A は、私のアプリケーションのホームページです。

A -> B -> C

C は、A を FLAG_ACTIVITY_CLEAR_TOP で開始して、ホームページ A を正しく取得します。これは正常に機能し、スタックは次のようになります。

A

ただし、B は Notification Manager を使用して直接呼び出すことができます。

B -> C -> A

したがって、CでAを開始するときにFLAG_ACTIVITY_CLEAR_TOPフラグを使用しても、BとCはA(ホームページ)の前にスタックに存在し、Aから戻るボタンを押すと、BとCに戻ります.

私はこの振る舞いを望んでいません。アクティビティ A を C から開始すると、スタックには A のみが含まれます。これを行うにはどうすればよいですか?

4

2 に答える 2

0

そのアクティビティを常にタスクのルート アクティビティにしたいので、通知からActivityA(ではなく)開始することをお勧めします。に渡されるActivityBエクストラを に追加します。次に、ofで、エクストラが存在するかどうかを確認し、存在する場合はすぐに を開始する必要があります。これにより、必要なナビゲーション動作が得られます。IntentNotificationonCreate()ActivityAActivityB

于 2013-03-21T11:17:19.720 に答える
0

ナビゲーションを気にしない場合は、B と C の両方をandroid:noHistoryとして定義できます

ところで。私はある時点で関連する質問をしました。あなたはそれを見て興味を持っているかもしれません: How to always start from a startup activity on Android?

于 2013-01-24T20:06:09.050 に答える