2012-01-06 9 views
0

アラーム通知がオフになって通知からアプリケーションをアクティブにすると、アプリケーションをバックグラウンドにプッシュしたときと同じアクティビティで再開します。次のようにバックグラウンドに行く前の最後のアクティビティ

は今、PendingIntentがコード化されています

PendingIntent pi = PendingIntent.getActivity(context, 0, new Intent(context, MyAppActivity.class), 0); 

これは、常に主な活動MyAppActivityで再開します。

バックグラウンドにプッシュされる前の最後のアクティビティで再開するにはどうすればよいですか?

答えて

0

他の方法として、FLAG_ACTIVITY_NEW_TASKのフラグを設定することができます。 Haventがこれを試しました。しかしこれはうまくいくかもしれません。

これを行うことができます。それは、アプリの切り替えに関連するシナリオのほとんどを持っています。 http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

+0

動作しません。私の推測では、startActivity()またはstartActivityForResult()でのみ動作するということです。通知については、私はS.O.Lです。 –

+0

piにPendingIntent.FLAG_CANCEL_CURRENTを使ってみました。運がない。 –

+1

解決済み。マニフェストでlaunchModeを "singleTask"に設定する必要がありました。 –

0

あなたができることは、あなたのアクティビティがバックグラウンドにプッシュされるときです。あなたのアプリケーションがどの状態(アクティビティ)になっているかを示す設定を保存します。その後、その活動。

+0

他にも問題があります。アプリが再開すると、新しいアクティビティが前のアクティビティの上にスタックされます(HOMEに行く前に)。たとえば、以前にメインアクティビティA - > B、次にHOMEに移動し、アプリが再開し、A - > Bを再度取得しようとすると、スタックは次のようになります:A - > B - > A - > B.これは単なる奇妙なことです。さらに、最初のAとBは孤立しています。 –

関連する問題