PndingIntentにputExtraした値が取得できない
AlarmManagerにPendingIntentをsetしていますが、intent.putExtraした値が、起動される側のActivityでgetIntent()するとnullになってしまいます。
PendingIntentにsetした時点では値は入っています。
何かアドバイスをいただけないでしょうか。
AlarmManagerにset
public MyAlarmManager(Context c) {
context = c;
am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}
public void addAlarm(AlarmItem alarmItem){
if(isSetPendingIntent(alarmItem)) {
//none
}else{
Intent intent = getMyIntent(alarmItem);
intent.putExtra("ALARMITEM_LABEL", alarmItem.getLabel());
Log.d("ALARMITEM_LABEL",alarmItem.getLabel()); //この時点では値が入っている
PendingIntent mAlarmSender = PendingIntent.getBroadcast(context, alarmItem.getId(),
intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 過去だったら明日にする
if (alarmItem.getTriggerTime() < System.currentTimeMillis()) {
long oneday = 86400000;
alarmItem.setTriggerTime(alarmItem.getTriggerTime() + oneday);
}
am.setExact(AlarmManager.RTC_WAKEUP, alarmItem.getTriggerTime(), mAlarmSender);
}
}
private Intent getMyIntent(AlarmItem alarmItem) {
// アラーム時に起動するアプリケーションを登録
Intent intent = new Intent(context, MyAlarmReceiver.class);
Log.d("alarmItem.getId()", String.valueOf(alarmItem.getId()));
return intent;
}
起動されるActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wake_up);
Intent intent = getIntent();
label = (TextView)findViewById(R.id.wake_label);
label.setText(intent.getStringExtra("ALARMITEM_LABEL"));