11

알람 용 브로드 캐스트 리시버로 사용되는 AlarmReceiver 클래스를 만들었습니다. 문제는 알람을 브로드 캐스팅 수신기 클래스로 설정하는 클래스에서 값을 보내야한다는 것입니다.안드로이드 브로드 캐스트 리시버에 의도적으로 추가 전달

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

나는 alarmreceiver 클래스의 의도에서 KEY_ROWID을 얻을 필요가있다. 어떻게해야합니까? AlarmReceiver 클래스는 아래와 같습니다.

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

어떻게 당신은 시간 값 @ 존을 배치해야합니까? – gumuruh

답변

12

당신은 사용할 수 있습니다

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

고맙습니다. ...... – John

관련 문제