PendingIntent — токен, которым другое приложение или система позже запускает ваш Intent от вашего имени (нотификация, Alarm, виджет). С Android 12+ нужно явно указывать FLAG_IMMUTABLE или FLAG_MUTABLE.
Разбор
- IMMUTABLE — дефолт безопасности, если extras не меняют снаружи.
- MUTABLE нужен редко (inline reply, некоторые Alarm update).
- requestCode + Intent equality влияют на переиспользование токена.
- Утечка PendingIntent в exported компонент — риск intent redirection.
Итог
PendingIntent — делегированный запуск Intent; явно выбирайте immutable, если не требуется иное.