BroadcastReceiver.OnReceive(Context, Intent) Метод

Определение

Этот метод вызывается, когда BroadcastReceiver получает широковещательную передачу намерения.

[Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")]
public abstract void OnReceive (Android.Content.Context? context, Android.Content.Intent? intent);
[<Android.Runtime.Register("onReceive", "(Landroid/content/Context;Landroid/content/Intent;)V", "GetOnReceive_Landroid_content_Context_Landroid_content_Intent_Handler")>]
abstract member OnReceive : Android.Content.Context * Android.Content.Intent -> unit

Параметры

context
Context

Контекст, в котором работает получатель.

intent
Intent

Полученное намерение.

Атрибуты

Комментарии

Этот метод вызывается, когда BroadcastReceiver получает широковещательную передачу намерения. В течение этого времени вы можете использовать другие методы в BroadcastReceiver для просмотра или изменения текущих результирующих значений. Этот метод всегда вызывается в потоке main его процесса, если вы явно не запросили его на планирование в другом потоке с помощью android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler). При выполнении в потоке main никогда не следует выполнять в нем длительные операции (время ожидания в 10 секунд, которое система разрешает, прежде чем считать, что получатель будет заблокирован и кандидат будет убит). Вы не можете запустить всплывающее диалоговое окно в реализации onReceive().

<b>Если этот BroadcastReceiver был запущен через < receiver> tag, то объект больше не активен после возврата из этой функции.</b> . Это означает, что не следует выполнять никаких операций, возвращающих результат асинхронно. Если вам нужно выполнить фоновую работу, запланируйте с android.app.job.JobServiceandroid.app.job.JobSchedulerпомощью .

Если вы хотите взаимодействовать со службой, которая уже запущена и ранее привязана с помощью android.content.Context#bindService(Intent, ServiceConnection, int) bindService(), можно использовать #peekService.

Фильтры намерений, используемые в android.content.Context#registerReceiver манифестах приложений и в манифестах приложений, не>< являются <>исключающими. Они представляют собой подсказки операционной системе о том, как найти подходящих получателей. Отправители могут принудительно выполнять доставку определенным получателям, минуя разрешение фильтра. По этой причине #onReceive(Context, Intent) onReceive() реализации должны реагировать только на известные действия, игнорируя любые непредвиденные намерения, которые они могут получить.

Документация по Java для android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent).

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.

Применяется к