다음을 통해 공유


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의 다른 메서드를 사용하여 현재 결과 값을 보거나 수정할 수 있습니다. 이 메서드는 명시적으로 사용 하 여 android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String, android.os.Handler)다른 스레드에서 예약 하도록 요청 하지 않는 한 해당 프로세스의 주 스레드 내에서 호출 됩니다. 주 스레드에서 실행되는 경우 장기 실행 작업을 수행해서는 안 됩니다(수신기를 차단하고 후보를 종료할 것을 고려하기 전에 시스템에서 허용하는 시간 제한은 10초입니다). onReceive()의 구현에서는 팝업 대화 상자를 시작할 수 없습니다.

<b>이 BroadcastReceiver가 <를 통해 시작된 경우 받는 사람> 태그를 지정하면 개체가 이 함수에서 반환된 후 더 이상 활성 상태가 아닙니다.</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() 구현은 알려진 작업에만 응답하여 수신할 수 있는 예기치 않은 의도를 무시해야 합니다.

에 대한 android.content.BroadcastReceiver.onReceive(android.content.Context, android.content.Intent)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상