2

Androidの通知とアクティビティの順序について質問があります。

私は次のシナリオを持っています:

いくつかのタスクを実行する最初のアクティビティとしてActivity_Mainがあります。戻るボタンを押すと通知が発生します。Activity_Mainには次の呼び出しがあります(、、、onKeyDown())。ユーザーが通知アイコンをクリックすると、Activity_Mainが開始され、呼び出しシーケンスは(、)になります。どちらでも構いません。OnPause()OnStop()OnDestroy()OnCreate()OnResume()

現在、Activity_Mainには、APIを使用してActivity_Secondを開始し、タスクの進行状況の通知を生成するボタンが含まれています。StartActivityForResult()関数呼び出しは(、、onSaveInstance())です。ユーザーがActivity_Secondbyの戻るボタンを押すと、すべてが正常に機能します。ただし、ユーザーが通知アイコンを選択すると(activity_secondsが表示されます)、Activity_main(、)の新しいインスタンスが開始されます。私が欲しいのは、Activity_Secondがそれを閉じ、(Activity_Mainの)が呼び出されることです。現在、Activity_Main(2番目のインスタンス)、Activity_second、Activity_Main(1番目のインスタンス)はアクティビティスタックにあります。OnPause()OnStop()setResult(result)onCreate()OnResume()onResume()

通知の生成中に次のフラグを設定しました。

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);

これを解決する他の方法は何ですか?

4

2 に答える 2

1

@ vineet、それは役に立ちませんでした。

Intent notificationIntent = new Intent(this,Activity_Main.class);

<activity ....android:launchMode="singleTask" >

togatherは私がこれを解決するのを助けました... このリンクから

于 2011-09-14T10:12:52.297 に答える
1

これらのフラグをインテントに追加してみてください。

notificationIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2011-09-13T10:01:44.763 に答える