Подтвердить что ты не робот

Какова точная разница между намерениями и ожидающими намерения?

Возможный дубликат:
Что находится в ожидании намерения?

Я запутался в намерении и ожидающем намерения.
Может ли кто-нибудь объяснить, в чем же разница между ними? Я искал SO, я нашел эту ссылку, но она не соответствовала моей потребности: https://stackoverflow.com/info/5633810/what-is-difference-between-an-intent-and-a-pending-inten t.

Я знаю, что ожидающее намерение - это намерение, которое начнется позже. Нормальное намерение запускается во время его передачи в startActivity(intent) или StartService(intent).

4b9b3361

Ответ 1

PendingIntent

Описание действия Intent и target для выполнения с ним. Экземпляры этого класса создаются с помощью getActivity (Context, int, Intent, int), getBroadcast (Context, int, Intent, int), getService (Context, int, Intent, int); возвращенный объект может быть передан другим приложениям, чтобы они могли выполнить действие, которое вы описали от своего имени позднее.

Предоставляя PendingIntent другому приложению, вы предоставляете ему право выполнить указанную операцию, как если бы это было другое приложение (с теми же правами и идентификацией). Таким образом, вы должны быть осторожны в том, как вы создаете PendingIntent: часто, например, базовый Intent, который вы поставляете, будет иметь имя компонента, явно установленное на один из ваших собственных компонентов, чтобы гарантировать, что он в конечном итоге отправлен туда и нигде больше.

A PendingIntent сам по себе является просто ссылкой на токен, поддерживаемый системой, описывающей исходные данные, используемые для ее получения. Это означает, что даже если его собственный процесс приложения будет убит, сам PendingIntent останется пригодным для других процессов, которые ему были предоставлены. Если впоследствии приложение-создатель повторно извлекает один и тот же вид PendingIntent (та же операция, то же действие, данные, категории и компоненты Intent, и те же флаги), он получит PendingIntent, представляющий тот же токен, если он все еще действителен, и может таким образом отмените вызов(), чтобы удалить его.

INTENT

Цель - абстрактное описание выполняемой операции. Он может использоваться с startActivity для запуска Activity, broadcastIntent для отправки его любым заинтересованным компонентам BroadcastReceiver и startService (Intent) или bindService (Intent, ServiceConnection, int) для связи с фоновым сервисом.

Anent обеспечивает средство для выполнения поздней привязки во времени между кодом в разных приложениях. Его наиболее значимое использование - это начало деятельности, где ее можно рассматривать как клей между действиями. Это в основном пассивная структура данных, содержащая абстрактное описание действия, которое необходимо выполнить. Основные сведения о намерениях заключаются в следующем:

action - общее действие, которое необходимо выполнить, например ACTION_VIEW, ACTION_EDIT, ACTION_MAIN и т.д. data - данные для работы, такие как запись человека в базе данных контактов, выраженная как Uri.