that's exactly the behavior I am noticing, too.
On 21 Nov., 11:38, "Guillaume Perrot" <[EMAIL PROTECTED]>
wrote:
> I retested my application, I can post two notifications with two pending
> intents with the same action (but different extra args) and this works only
> if put different request codes each time...
> I tested to click them in different orders to check it this really works: it
> works, the correct extra args values are received by my activity which
> handle these intents.
> This activity is in singleTop launch mode, I received these intents via the
> onNewIntent() method.
>
> 2008/11/21 Matthias <[EMAIL PROTECTED]>
>
>
>
> > Well, when /do/ PendingIntents match? All I can say is that calling
> > PendingActivity.getActivity() created a new PendingIntent each time I
> > called it (I checked the OID in the debugger), and in this new object,
> > I always store a new Intent object.
>
> > As Guillaume suggested, I solved the problem by calling getActivity()
> > like this:
>
> > private static int requestCode;
> > ...
> > pi = PendingIntent.getActivity(context, requestCode++, intent, 0)
>
> > and now everything works as expected. As for the intent itself, I
> > instantiated it using FLAG_ACTIVITY_NEW_TASK and
> > FLAG_ACTIVITY_SINGLE_TOP.
>
> > On 20 Nov., 22:55, "Dianne Hackborn" <[EMAIL PROTECTED]> wrote:
> > > I am really not clear on exactly what you are doing or expecting, but one
> > > thing to watch out for -- when you get a PendingIntent, if there is
> > already
> > > a PendingIntent matching the Intent you have been given (NOT including
> > the
> > > extras), then you get that PendingIntent, NOT a new one. So if you want
> > to
> > > change the extras you will either need to cancel the existing one, or
> > modify
> > > something in the action, type, data, or category so that it doesn't match
> > > the existing one.
>
> > > This is covered (not very well) in the last paragraph of the
> > PendingIntent
> > > documentation:
>
> > >http://code.google.com/android/reference/android/app/PendingIntent.html
>
> > > On Thu, Nov 20, 2008 at 8:38 AM, Matthias <[EMAIL PROTECTED]>
> > wrote:
>
> > > > This gets weirder every minute.
>
> > > > Just out of curiosity I just called setIntent(null) in onPause() to
> > > > make sure the Intent the Activity was started with is always reset. As
> > > > soon as I start the Activity again though, getIntent() will AGAIN
> > > > return the Intent I supposedly set to null before...... this Intent it
> > > > returns even exists across re-deployments of the whole application
> > > > (not across emulator reboots tho)!
>
> > > > Am I the only one having these problems? ^^ This whole thing looks
> > > > completely broken to me. None of the functionalities I used exposed
> > > > the behavior that was documented.
>
> > > > On 20 Nov., 17:03, Matthias <[EMAIL PROTECTED]> wrote:
> > > > > I think this may be a bug in Android. I also tried following the
> > > > > instructions from the docs under section "Launch Modes and Launch
> > > > > Flags" with no success. That section suggested to declare any
> > Activity
> > > > > launched from NotificationManager to set the taskAffinitity to "" and
> > > > > finishOnTaskLaunch to true, so that the Activity does a clean start
> > > > > everytime it is called.
>
> > > > > Even though the Activity is completely restarted now (onStart() is
> > > > > called), getIntent() always yields the same intent, the one it was
> > > > > started with for the very first time...
>
> > > > > On 20 Nov., 14:17, Matthias <[EMAIL PROTECTED]> wrote:
>
> > > > > > Hi,
>
> > > > > > I have the following problem: When posting a new Notification, I
> > pass
> > > > > > along a PendingIntent used to fire up an Activity that shows
> > details
> > > > > > about this Notification. These details are passed as a Serializable
> > > > > > Extra.
>
> > > > > > However, the Intent holding the Extra is only updated once, when
> > the
> > > > > > Activity was started for the first time. If a new Notification
> > arrives
> > > > > > however, although I instantiate a new Intent, neither getIntent()
> > nor
> > > > > > onNewIntent() of said Activity deliver this new intent, instead
> > they
> > > > > > always deliver the Intent that was active when the Activity was
> > > > > > started for the first time.
>
> > > > > > I tried combining many of the flags that can be passed to Intents
> > and
> > > > > > PendingIntents (in particular FLAG_ACTIVITY_SINGLE_TOP which is
> > said
> > > > > > to do exactly what I need, namely calling onNewIntent() with the
> > new
> > > > > > intent, but that's not the case), but no luck.
>
> > > > > > So, how can I update my Activity with the Intent used to fire it,
> > > > > > whenever the Activity is already running?
>
> > > > > > Thanks,
> > > > > > Matthias
>
> > > --
> > > Dianne Hackborn
> > > Android framework engineer
> > > [EMAIL PROTECTED]
>
> > > Note: please don't send private questions to me, as I don't have time to
> > > provide private support. All such questions should be posted on public
> > > forums, where I and others can see and answer them.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---