#android #android-intent
#Android #android-intent
Вопрос:
Я устанавливаю будильник при нажатии кнопки.
Тревога срабатывает с намерением.
Это намерение получает дополнительный «int» для передачи широковещательному приемнику.
Проблема в том, что дополнительные функции intent устанавливаются один раз при первом нажатии кнопки и никогда не меняются при других нажатиях:
Intent intent = new Intent(A.this, B.class);
intent.putExtra(WAKEUP_DURATION, wakeUpDuration);
PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, 0);
Я попытался удалить его в широковещательном приемнике, но безуспешно:
intent.removeExtra(A.WAKEUP_DURATION);
Ответ №1:
Используйте FLAG_UPDATE_CURRENT
при создании вашего PendingIntent
, чтобы обновить дополнения с нового Intent
.
Ответ №2:
Спасибо! Это сделало свое дело. Для тех из вас, кто хотел бы знать точный ответ. «FLAG_UPDATE_CURRENT» используется в качестве четвертого аргумента в методе ‘getBroadcast’. Это должно выглядеть так:
PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);