16

I have created a AlarmReceiver class which is used as broadcast receiver for alarm. The issue is that I need to send some values from the class which is setting the alarm to the broadcast receiver class.

setAlarmManager.java

     Intent i = new Intent(mContext, AlarmReceiver.class);
     i.putExtra(KEY_ROWID, (long)taskId); 
     PendingIntent pi = PendingIntent.getBroadcast(mContext,taskId_int,i,PendingIntent.FLAG_ONE_SHOT); 
     mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);

I need to get the KEY_ROWID from intent in alarmreceiver class. How can I do that? The AlarmReceiver class is shown below.

public class AlarmReceiver extends BroadcastReceiver {
          public static final String ALARM_ALERT_ACTION ="com.android.alarmclock.ALARM_ALERT";
          public static final String ALARM_INTENT_EXTRA = "intent.extra.alarm";

     @Override
      public void onReceive(Context context, Intent intent) {

             //Here I need the values from intent using bundle or anything...

    }
}
BenMorel
  • 34,448
  • 50
  • 182
  • 322
John
  • 8,846
  • 8
  • 50
  • 85

1 Answers1

16

You can use :

public class AlarmReceiver extends BroadcastReceiver {
          public static final String ALARM_ALERT_ACTION ="com.android.alarmclock.ALARM_ALERT";
          public static final String ALARM_INTENT_EXTRA = "intent.extra.alarm";

     @Override
      public void onReceive(Context context, Intent intent) {

             String keyid = intent.getStringExtra("KEY_ROWID");
    }
}
Bertrand Martel
  • 42,756
  • 16
  • 135
  • 159
Binoy Babu
  • 16,699
  • 17
  • 91
  • 134