PendingIntent позволяет передать намерение (Intent) другому приложению, чтобы оно могло выполнить его от имени вашего приложения в более позднее время и даже если ваше приложение завершилось.
Основные причины использования PendingIntent:
AlarmManager.Обычный Intent выполняется немедленно и внутри контекста вашего приложения. PendingIntent же является оберткой над Intent, которая дает разрешение другому приложению выполнить этот Intent с идентичными правами, как если бы его выполнило ваше приложение.
При создании PendingIntent необходимо выбрать тип компонента, который будет запущен: активность (getActivity), сервис (getService) или широковещательный получатель (getBroadcast). Также указываются флаги, определяющие поведение PendingIntent, например, как обрабатывать существующие интент (FLAG_UPDATE_CURRENT, FLAG_CANCEL_CURRENT).
Пример создания PendingIntent для запуска активности:
java