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 android-developers@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---