2011-06-23 6 views
1

は、私は問題を抱えていますものですが再配信されます。私は、通知からの余分なものが設定されている場合は、私の活動のoncreateメソッド(私のアプリのメインスクリーンです)でこのフラグを使用して、その上に新しいスクリーンを立ち上げます。アンドロイドの意図はここで

ですので、部品が大きく機能します。私は通知をクリックして、私は後でそれを最近のから再起動する場合は、ホームボタンを押すことによって、それは私の画面を開始するように通知から来た最後のインテントを再配信するように表示されます再び。私はマニフェストに沢山の旗を試しましたが、これまで成功していませんでした。

ここに私がアクティビティに使用しているフラグがあります。

android:clearTaskOnLaunch="true" 
    android:alwaysRetainTaskState="false" 

ありがとうございます。

+0

私は、メイン画面用TabActivityを使用しています。 – DArkO

答えて

3

OKだから、あなたのアクティビティがsingleTopと宣言されている場合、ホームボタンを押してアクティビティを開始するたびに、最後のインテントが再配信されることになります。

回避策私は、インテントが使用されたときにフラグを保存するためにonConfigurationを変更してみましたが、アクティビティが実際に破棄され、方向が変わっていないため動作しませんでした。最後に、私がやったことは、共有の設定でそのフラグを保存し、singleTopアクティビティに新しいインテントを送信し、インテントが消費されるたびにtrueに設定するたびにfalseに設定することでした。

ので問題汚れが固定、しかし、私はこのような振る舞いは正常:(どのように興味があります。

+5

意図は**から* *されていない場合は、確認することができます** if((intent.getFlags()&Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY)== 0) '。 – neevek

+0

neevekこれを回答として追加して、問題を修正しました。 –

関連する問題