0

Android アプリには 2 つのアクティビティがあります。それらを A と B と呼びましょう。A はメインのアクティビティであり、startActivity() を呼び出して B を表示するボタンが含まれています。

A -> B

A には、毎分時を刻むスレッドがあります。このティックで、通知がステータス バーで更新されます

これは私が求めているものです:

1) A も B も表示されていないときにユーザーが通知をクリックすると、A が表示されます 2) A が表示されているときにユーザーが通知をクリックしても、何も起こらないはずです 3) B が表示されているときにユーザーが通知をクリックしても、何も起こらないはずです(または、簡単な場合は、B をポップして A を表示します)

1) と 2) は簡単に実現できます。3) 新しいバージョンの A を開始し、それをキューに追加します。

A -> B -> A、これは私が意図したものではありません。ユーザーは、ホーム画面に移動するために 3 回戻る必要があります。

通知をクリックすると、スタック A -> B または A のみが表示されるようにする方法はありますか?

4

2 に答える 2

0

アクティビティ A のフラグを singleTask に設定し、アクティビティ A の新しいstartActivity()インテントをキャッチonNewIntent(Intent i)する必要があります (オーバーライドする必要があります)。お役に立てれば!

于 2011-09-09T22:45:22.230 に答える
0

FLAG_ACTIVITY_CLEAR_TOPメソッドにフラグを設定しstartActivity()ます。その後、アクティビティ A を再作成する場合は、FLAG_ACTIVITY_SINGLE_TOPフラグを設定します。または、アクティビティ A を再利用する場合は、FLAG_ACTIVITY_SINGLE_TOPフラグを設定します。

于 2011-09-10T01:16:12.710 に答える