I hit this issue hard and found the answers sorting through threads on the non-beginner developer group. Here is what I learned...
When setting more than one timer/alarm, the second parameter in the Pending Intent call to getBroadcast is important. Your code looks like this: PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, i, 0); The first zero can be changed up. At this point, the docs define the second parameter this way: requestCode Private request code for the sender (currently not used). However, this request code can be used. If you want to setup a bunch of timers/alarm calls, try using unique request codes for each individual alarm. Track these request codes and set them to be the same when you want to update or cancel an existing alarm. Although the docs say that system is supposed to recognize the intent parameter and take action based on matching the intent and the flags in the last parameter, I found that the request code was used in the match-up. Setting unique request codes for each unique intent solved all my problems. World peace will ensue. Best regards, Beth On Jul 1, 11:09 am, Veroland <marius.ven...@gmail.com> wrote: > To get around this problem look at the flags the PendingIntent takes, > I changed mine to PedingIntent.FLAG_CANCEL_CURRENT in the getBroadcast > method, it means that if there was a previous PendingIntent it will > update it with the new Intent. > > What I am not sure about yet is being able to create/control more than > one of the same PendingIntent's that do the same thing. For multiple > reminders for instance like what I am trying. > > Hope this helps > > On Jul 1, 7:52 am, varsha acharya <varsha.acharya...@gmail.com> wrote: > > > > > Hi, > > I have a similar problem.. > > I have to send a sms on alarm to a predefined number. first time it works > > well... sends the sms on alarm but then if i set the alarm to send a > > different sms,it sends the previous sms. > > > ---------- Forwarded message ---------- > > From: Veroland <marius.ven...@gmail.com> > > Date: Tue, Jun 30, 2009 at 3:53 PM > > Subject: [android-beginners] Alarm Manager > > To: Android Beginners <android-beginners@googlegroups.com> > > > Hi > > > I have 2 problems, > > > I create a timer using AlarmManager and I set an Intent with certain > > values in the putExtra methods and then create the pendingIntent with > > this intent and call alamarmManager.set(RTC_Wakeup, time, > > pendingIntent) > > > 1. The first time I do this everything works fine. The second time I > > do this and use a intent with different data in the intent when the > > alarm gets fired in my BroadcastReceiver class the data on the intent > > is the data of the intent used in the first alarm and NOT the second > > one. > > > 2. If I call the alarmManager.set 2 times with 2 differents intents > > and settings only the last alarmManager.set seems to result in my > > broadcast receiver getting called. Does anyone know how to create > > multiple alarms? > > > Here is my code I use to create the alarms > > > Intent i = new Intent(getApplicationContext(), ReminderAlarm.class); > > i.putExtra(ReminderDbAdapter.KEY_ROWID, extras.getLong > > (ReminderDbAdapter.KEY_ROWID)); > > i.putExtra(ReminderDbAdapter.KEY_TITLE, extras.getString > > (ReminderDbAdapter.KEY_TITLE)); > > i.putExtra(ReminderDbAdapter.KEY_BODY, extras.getString > > (ReminderDbAdapter.KEY_BODY)); > > Log.d("Sending", extras.getString(ReminderDbAdapter.KEY_TITLE)); > > PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, i, > > 0); > > > AlarmManager alarmManager = (AlarmManager) getSystemService > > (ALARM_SERVICE); > > alarmManager.set(AlarmManager.RTC_WAKEUP, lcal, pendingIntent); > > > -- > > Regards, > > Varsha --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---