Ответ
PendingIntent — это токен, который позволяет внешнему приложению выполнить действие от имени вашего приложения с теми же разрешениями. Он используется для отложенных операций, например, запуска Activity, Service или BroadcastReceiver.
Основные особенности:
- Создается через
PendingIntent.getActivity(),getService()илиgetBroadcast() - Может быть одноразовым (
FLAG_ONE_SHOT) - Поддерживает обновление (
FLAG_UPDATE_CURRENT)
Пример создания уведомления с PendingIntent:
val intent = Intent(this, MainActivity::class.java)
val pendingIntent = PendingIntent.getActivity(
this, 0, intent, PendingIntent.FLAG_IMMUTABLE
)
NotificationCompat.Builder(this, CHANNEL_ID)
.setContentIntent(pendingIntent)
// ...