Sobes.tech
Back to questions
Junior — Middle
70

Какая роль у объекта PendingIntent и в каких сценариях он используется в разработке Android-приложений?

Companies where asked
Effective Technologies
ЯндексЯндекс

Answer from AI

sobes.tech AI

Объект PendingIntent в Android представляет собой отложенное намерение (Intent), которое может быть выполнено другим приложением или системой от имени вашего приложения в будущем.

Роль PendingIntent — предоставить внешнему компоненту (например, NotificationManager, AlarmManager, AppWidgetManager) возможность выполнить заранее определенное действие с правами вашего приложения.

Основные сценарии использования:

  • Уведомления (Notifications) — для обработки нажатий на уведомления.
  • AlarmManager — запуск кода в определенное время.
  • App Widgets — обработка взаимодействия с виджетами.
  • BroadcastReceiver — отправка отложенных широковещательных сообщений.

Пример создания PendingIntent для уведомления:

val intent = Intent(context, TargetActivity::class.java)
val pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setContentTitle("Заголовок")
    .setContentText("Текст уведомления")
    .setContentIntent(pendingIntent) // При нажатии откроется TargetActivity
    .build()