24101


AlarmManagerにPendingIntentをsetしていますが、intent.putExtraした値が、起動される側のActivityでgetIntent()するとnullになってしまいます。  
PendingIntentにsetした時点では値は入っています。  
何かアドバイスをいただけないでしょうか。

AlarmManagerにset

[code]

    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;
    }
    
[/code]

起動されるActivity

[code]

    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"));
    
[/code]


CC BY-SA 3.0
2016-04-17T14:29:19.677
24100
2016-04-17T15:26:11.483
2016-04-17T15:26:11.483
76
15193
question
android
PndingIntentにputExtraした値が取得できない


ソースによると PendingIntent で起こしているのはブロードキャストレシーバなので、（おそらくそこから起動した？）アクティビティのインテントには
Extra は入りません。

レシーバ内で Extra をリレーするようにしてはいかがでしょうか。


CC BY-SA 3.0
2016-04-17T15:18:20.733
24101
2016-04-17T15:18:20.733
7558
24100
answer