Right, this is because PendingIntents only keep track of one set of extras for a given action+data+category+component combination. That is to say, it ignores extras when comparing PendingIntents.
Because your second PendingIntent matches the first one, the system recycles the first one. Depending on the desired behavior, you could use FLAG_CANCEL_CURRENT to wipe the old PendingIntent and replace it with a new one containing the updated extras. Or, if you need multiple events, you could use the data Uri to hold the extra information. (So something like "custom://avr/myvalue" might work.) j On Wed, Apr 29, 2009 at 11:35 AM, guruk <[email protected]> wrote: > > thanks... > finaly the calendar add.. do the same. > > but that does not answer my question, how to initiate MULTIPLE > Alarms.. and especialy > how o read them in me broadcast receiver and how to know what alarm > comes initiated. > > thanks > chris > > > On Apr 26, 11:22 pm, Ashok Jeevan <[email protected]> wrote: >> Hi,Try using >> >> am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(delay * 1000) >> , sender); >> >> This will set the alarms according to the delay that you specify. >> >> >> >> On Sun, Apr 26, 2009 at 3:42 PM, guruk <[email protected]> wrote: >> >> > Hi, i like to create multiple alarms, but i does not work. how to set >> > and how to request in my receiver what alarm intent came activated >> >> > in my alarm.java i call this function like: setalarm(5); setalarm(10) >> > (it works but only remember the last) >> >> > public void setalarm(int delay) >> > { >> > Intent intent = new Intent(alarm.this, alarmreceiver.class); >> > PendingIntent sender = PendingIntent.getBroadcast(alarm.this, >> > 0, intent, 0); >> > intent.setData((Uri.parse("custom://"+delay))); << i heared >> > about this would make individual alarms.. but does not work >> >> > Calendar calendar = Calendar.getInstance(); >> > calendar.setTimeInMillis(System.currentTimeMillis()); >> > calendar.add(Calendar.SECOND, delay); >> >> > intent.putExtra("avr", ""+delay); //i tried to set my data >> > here to read later, but also does not work >> >> > AlarmManager am = (AlarmManager)getSystemService >> > (ALARM_SERVICE); >> > am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), >> > sender); >> >> > //Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show >> > (); >> >> > } >> >> > ---- my alarmreceiver.java >> >> > public class alarmreceiver extends BroadcastReceiver >> > { >> > NotificationManager mNM; >> > �...@override >> > public void onReceive(Context context, Intent intent) >> > { >> > Uri ursistr = intent.getData(); >> > String intentstr = intent.getStringExtra("avr"); //does not >> > get the >> > saved intentextra?! >> >> > Toast.makeText(context, "GOT IT :"+intentstr+" "+ursistr, >> > Toast.LENGTH_SHORT).show(); >> >> > } >> >> > greets >> > chris > > > -- Jeff Sharkey [email protected] --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

