В намерении, переданном в onHandleIntent, отсутствуют дополнительные намерения, которые я установил

Я создаю Intent и добавляю к нему дополнительную строку, затем я создаю PendingIntent, который передается диспетчеру аварийных сигналов для выполнения:

String value = "someValue";

Intent intent = new Intent(this, FetchService.class);
intent.putExtra(AppConstants.KEY, value);

alarmIntent = PendingIntent.getService(this, 0, intent, 0);

До этого момента все было нормально, и я проверил отладчиком, что доп действительно установлен. Затем, когда внутри моей службы вызывается onHandleIntent(intent), лишнего больше не существует.

@Override
protected void onHandleIntent(Intent intent) {
    // App crashes here
    String value = intent.getStringExtra(AppConstants.KEY);

    ...
}

Я не могу понять, почему лишнего нет. Я что-то пропустил?

Спасибо.


person Adam Alyyan    schedule 18.08.2014    source источник
comment
Что произойдет, если вы замените последний аргумент getService одной из констант FLAG, определенных в PendingIntent (например, FLAG_UPDATE_CURRENT)?   -  person Karakuri    schedule 18.08.2014
comment
О, спасибо! Это сделало это.   -  person Adam Alyyan    schedule 18.08.2014


Ответы (1)


Отсутствовал PendingIntent.FLAG_UPDATE_CURRENT при создании моего PendingIntent, как указал Каракури.

person Adam Alyyan    schedule 18.08.2014