TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #628 3.48K
​​Про PendingIntent
#interview

PendingIntent — довольно важная часть приложений под Android, о которой мы часто забываем и не до конца понимаем, для чего она нужна. Так как с Android 12 у нас добавились изменения, связанные с работой с PendingIntent, давайте посмотрим, что это за класс, ну и поговорим про изменения.

PendingIntent по сути — обёртка над обычным Intent, которая позволяет другому приложению выполнить какое-то действие в будущем от имени вашего приложения.

Отсюда мы сразу выносим две ключевые разницы:
🔹событие связано с будущим действием;
🔹это действие происходит от имени вашего приложения.

Область применения PendingIntent довольно обширна. Самые распространённые кейсы — это работа с AlarmManager и уведомлениями. Тут можно найти ещё пару кейсов, например при взаимодействии с получением результата от другого приложения.

PendingIntent создаётся с флагами, которые влияют на его работу.

🔸FLAG_IMMUTABLE — означает, что Intent внутри PendingIntent не может быть модифицирован другим приложением. Важно помнить, что приложение всегда может менять свои PendingIntent, даже если они неизменяемы для других приложений. До Android 12 все PendingIntent, созданные без этого флага были изменяемыми по умолчанию.

🔸FLAG_MUTABLE — означает, что компонент внутри PendingIntent может быть модифицирован другим приложением при помощи PendingIntent.send(). Флаг был добавлен в Android 12, и очень важно заполнять ComponentName при такой модификации.

🔸FLAG_UPDATE_CURRENT — означает, что необходимо обновить содержимое компонента без создания нового PendingIntent. Если такого нет, то будет создан новый.

🔸FLAG_ONE_SHOT — позволяет PendingIntent выполнять действие только один раз.

🔸FLAG_CANCEL_CURRENT — закрывает существующий PendingIntent, что особенно важно, если вы хотите поменять приложение, на которое завязан ваш текущий PendingIntent.

Почитать детальнее о том, как использовать этот компонент в Android 12 можно тут.
More from @android_live
  1. Sep 29, 2026Post #1130
  2. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  3. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  4. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  5. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  6. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →