11

Alarm için yayın alıcısı olarak kullanılan bir AlarmReceiver sınıfı oluşturdum. Sorun, alarmı yayın alıcısı sınıfına ayarlayan sınıftan bazı değerler göndermem gerektiğidir.Android yayın alıcısına fazladan geçen niyet

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

ben alarmreceiver sınıfta amacından KEY_ROWID almak gerekir. Bunu nasıl yapabilirim? AlarmReceiver sınıfı aşağıda gösterilmiştir.

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

    } 
} 
+0

nasıl zaman değeri @John koyarım? – gumuruh

cevap

12

Sen kullanabilirsiniz:

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"); 
    } 
} 
+0

Çok teşekkür ederim ...... – John