Open/Close Menu Yapı Taahhüt ve İnş. Tic. Ltd. Şti.

Size Özel Tekliflerimiz?
İletişime Geçin! »

Bizi Arayın:
0216 537 19 46/47

MyBroadcastReceiver는 BroadcastReceiver Android 클래스의 하위 클래스이며 의도 브로드캐스트를 수신하기 위해 onReceive() 메서드를 재정의합니다. 다음 코드에서 볼 수 있듯이 필드 intentData는 MyBroadcastReceiver 사용자 지정 의도에서 받는 메시지입니다. BroadcastReceiver의 가장 흥미로운 응용 프로그램 중 하나는 알람 관리자입니다. AlarmManager 방송 수신기 (수신기)의 전체 작업 예를 보려면 여기를 클릭하십시오 시스템 또는 응용 프로그램 이벤트에 등록 할 수있는 안드로이드 구성 요소입니다. 이벤트에 등록된 모든 수신자는 이 이벤트가 발생하면 Android 런타임에 의해 알림을 받습니다. 등록 수신기(BroadcastReceiver, IntentFilter)`의 반환 값을 통해 해당 데이터를 검색할 수 있습니다. 이것은 또한 null `BroadcastReceiver에 대 한 작동 합니다. 앱 외부의 구성 요소에 브로드캐스트를 보낼 필요가 없는 경우 지원 라이브러리에서 사용할 수 있는 LocalBroadcastManager를 사용하여 로컬 브로드캐스트를 보내고 받을 수 있습니다. LocalBroadcastManager는 훨씬 더 효율적이며(프로세스 간 통신이 필요하지 않습니다) 브로드캐스트를 수신하거나 보낼 수 있는 다른 앱과 관련된 보안 문제에 대해 생각하지 않도록 할 수 있습니다.

로컬 브로드캐스트는 시스템 전체 브로드캐스트의 오버헤드 없이 앱에서 범용 펍/하위 이벤트 버스로 사용할 수 있습니다. 네트워크 연결(인터넷) 상태를 변경할 때 수신기가 실행되지 않습니다. 예를 들어 응용 프로그램은 Android 시스템이 부팅 프로세스를 완료하면 발생되는 ACTION_BOOT_COMPLETED 시스템 이벤트에 등록할 수 있습니다. 수신은 다음 예제 코드에서 설명한 대로 서비스를 시작합니다. 수신기 클래스의 onReceive()가 완료되면 Android 시스템이 수신기를 재활용할 수 있습니다. sendOrderedBroadcast() 메서드는 다른 브로드캐스트 수신기(결과 수신기라고 도 함)에 대한 참조를 포함하여 여러 개의 인수로 호출되며, 다른 모든 브로드캐스트 수신기가 의도를 처리한 경우 알림을 받을 수 있습니다. 데이터 참조를 통해 해당 수신기가 결과 데이터를 배치할 수 있습니다. 모든 브로드캐스트 수신기에 브로드캐스트를 처리할 수 있는 기회가 주어지면 결과 수신기의 onReceive() 메서드가 호출되어 결과 데이터를 전달합니다. 일반적으로 Intents를 사용하여 다른 앱에 브로드캐스트 이벤트를 전달하고 브로드캐스트 수신기는 상태 표시줄 알림을 사용하여 브로드캐스트 이벤트가 발생한다는 사실을 사용자에게 알릴 수 있습니다.

응용 프로그램은 브로드캐스트 수신기를 등록하여 특정 브로드캐스트 의도를 수신합니다. 브로드캐스트 수신기는 Android BroadcastReceiver 클래스를 확장하고 onReceive() 메서드를 재정의하여 구현됩니다. 그런 다음 브로드캐스트 수신기는 코드(예: 활동 내) 또는 매니페스트 파일 내에서 등록될 수 있습니다. 등록 구현의 일부는 수신기가 수신자가 수신하는 데 필요한 특정 브로드캐스트 의도를 나타내는 의도 필터를 만드는 것을 포함합니다. 이는 브로드캐스트 의도의 작업 문자열을 참조하여 달성됩니다. 일치하는 브로드캐스트가 검색되면 브로드캐스트 수신기의 onReceive() 메서드가 호출되며, 이 때 메서드는 반환하기 전에 필요한 작업을 수행하기 위해 5초 내에 있습니다. 브로드캐스트 수신기가 항상 실행될 필요는 없다는 점에 유의해야 합니다. 일치 의도가 감지되는 경우 Android 런타임 시스템은 onReceive() 메서드를 호출하기 전에 브로드캐스트 수신기를 자동으로 시작합니다. 많은 앱이 매니페스트에서 동일한 브로드캐스트를 수신하도록 등록한 경우 시스템이 많은 앱을 실행하여 장치 성능과 사용자 환경 모두에 상당한 영향을 줄 수 있습니다. 이를 방지하려면 매니페스트 선언보다 컨텍스트 등록을 사용하는 것을 선호합니다. 경우에 따라 Android 시스템 자체가 컨텍스트 등록 수신기의 사용을 강제합니다. 예를 들어 CONNECTIVITY_ACTION 브로드캐스트는 컨텍스트 등록된 수신기에만 전달됩니다.

myBroadcastIntent 및 sendMessage 문자열을 정의하지 않았기 때문에 이런 일이 발생합니다.