There are two more ways:

1) Using a unique data URI, which has the advantage of not interfering with
action-based intent filters, if there are any

2) As a variation, this data URI can be created from the extras using a bit
of code like this:

intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));

The Uri would need to be converted back to an Intent with extras on the
receiving side using Intent.parseUri().

-- K

2012/5/3 Mark Murphy <[email protected]>

> The simple-but-underdocumented solution is to use the 2nd parameter to
> getActivity(), getService(), etc. The "Private request code for the
> sender" that is "currently not used" still results in unique
> PendingIntents, based on various reports that I have seen, though I
> have not yet had cause to use this myself.
>
> A more cumbersome solution that does not rely upon quasi-documented
> behavior is to generate a unique action string and add that to your
> Intent. Assuming that you are setting the component on the Intent
> (e.g., new Intent(this, MyActivity.class)), the action string will
> have no effect on the routing of the Intent, but its uniqueness will
> get you distinct PendingIntents.
>
> On Thu, May 3, 2012 at 12:34 AM, Vadim Peretokin <[email protected]>
> wrote:
> > I'm using my notifications as a method of launching an activity to the
> > proper state it needs to be in. There can be several notifications that
> all
> > need to launch the same activity, but in different states.
> >
> > The issue that I'm running into is that the PendingIntent is not being
> > unique.
> >
> > I pass data via extras to the Intent (that does it's lookup via an alias
> > string) for the notification, and with the default
> PendingIntent.getActivity
> > with no extra flags passed, the first notifications Intents data ends up
> > being an extra in the activity. So if I click on the 3rd notification,
> > extras data from the first comes up.
> >
> > If I pass it the FLAG_UPDATE_CURRENT flag, then the 3rd notifications
> data
> > comes through if I click on first or second. If I pass it FLAG_ONE_SHOT,
> > then only one notification will work.
> >
> > So it's rather clear that the PendingIntent is the issue at hand - but
> I'm
> > not sure how to avoid this kind of behaviour. Can anyone help?
> >
> > --
> > 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
>
>
>
> --
> Mark Murphy (a Commons Guy)
> http://commonsware.com | http://github.com/commonsguy
> http://commonsware.com/blog | http://twitter.com/commonsguy
>
> Android Training...At Your Office: http://commonsware.com/training
>
> --
> 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
>

-- 
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

Reply via email to