6월 3일의 ⁠#Android11: 베타 버전 출시 행사에 참여하세요.

암시적 브로드캐스트 예외

Android 8.0(API 레벨 26) 백그라운드 실행 제한의 일환으로 API 레벨 26 이상을 타겟팅하는 앱은 암시적 브로드캐스트의 broadcast receiver를 manifest에 더 이상 등록할 수 없습니다. 하지만 현재 몇몇 브로드캐스트는 이러한 제한에서 제외됩니다. 앱이 타겟팅하는 API 레벨과 관계없이 앱은 다음 브로드캐스트의 리스너를 계속 등록할 수 있습니다.

ACTION_LOCKED_BOOT_COMPLETED, ACTION_BOOT_COMPLETED
이러한 브로드캐스트는 처음 부팅할 때 한 번만 전송되는데 많은 앱이 작업, 알람 등을 예약하기 위해 이 브로드캐스트를 수신해야 하므로 제외됩니다.
ACTION_USER_INITIALIZE, "android.intent.action.USER_ADDED", "android.intent.action.USER_REMOVED"
이러한 브로드캐스트는 특별 권한으로 보호되므로 대부분의 일반 앱은 어떤 방식으로든 이 브로드캐스트를 수신할 수 없습니다.
"android.intent.action.TIME_SET", ACTION_TIMEZONE_CHANGED, ACTION_NEXT_ALARM_CLOCK_CHANGED
시간, 시간대 또는 알람이 변경될 때 시계 앱에서 알람을 업데이트하려면 이러한 브로드캐스트를 수신해야 할 수 있습니다.
ACTION_LOCALE_CHANGED
언어가 변경될 때만 전송되며 이런 상황은 자주 발생하지 않습니다. 앱은 언어가 변경될 때 데이터를 업데이트해야 할 수 있습니다.
ACTION_USB_ACCESSORY_ATTACHED, ACTION_USB_ACCESSORY_DETACHED, ACTION_USB_DEVICE_ATTACHED, ACTION_USB_DEVICE_DETACHED
앱이 이러한 USB 관련 이벤트에 관해 알아야 한다면 현재 브로드캐스트에 등록하는 것만큼 좋은 다른 방법은 없습니다.
ACTION_CONNECTION_STATE_CHANGED, ACTION_CONNECTION_STATE_CHANGED, ACTION_ACL_CONNECTED, ACTION_ACL_DISCONNECTED
앱이 이러한 블루투스 이벤트와 관련된 브로드캐스트를 수신하면 사용자 환경에 문제가 발생하지 않을 것입니다.
ACTION_CARRIER_CONFIG_CHANGED, TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED, "TelephonyIntents.SECRET_CODE_ACTION", ACTION_PHONE_STATE_CHANGED, ACTION_PHONE_ACCOUNT_REGISTERED, ACTION_PHONE_ACCOUNT_UNREGISTERED
OEM 전화 통신 앱은 이러한 브로드캐스트를 수신해야 할 수 있습니다.
LOGIN_ACCOUNTS_CHANGED_ACTION
일부 앱은 새 계정 및 변경된 계정과 관련된 예약 작업을 설정할 수 있도록 로그인 계정 변경사항에 관해 알아야 합니다.
ACTION_ACCOUNT_REMOVED
계정을 볼 수 있는 앱은 계정이 삭제될 때 이 브로드캐스트를 수신합니다. 계정 삭제가 앱이 조치를 취해야 하는 유일한 계정 변경사항이라면 앱은 지원이 중단된 LOGIN_ACCOUNTS_CHANGED_ACTION 대신 이 브로드캐스트를 사용하는 것이 좋습니다.
ACTION_PACKAGE_DATA_CLEARED
사용자가 설정에서 데이터를 명시적으로 삭제할 때만 전송되므로 broadcast receiver는 사용자 환경에 크게 영향을 주지 않을 것입니다.
ACTION_PACKAGE_FULLY_REMOVED

일부 앱은 다른 패키지가 삭제될 때 저장된 데이터를 업데이트해야 할 수 있습니다. 이러한 앱에서는 브로드캐스트에 등록하는 것만큼 좋은 다른 방법이 없습니다.

참고: 다른 패키지 관련 브로드캐스트(예: ACTION_PACKAGE_REPLACED)는 새로운 제한에서 제외되지 않습니다. 이러한 브로드캐스트는 일반적으로 사용되므로 제외 시 성능에 영향을 줄 수 있습니다.

ACTION_NEW_OUTGOING_CALL

전화를 거는 사용자에 응답하여 조치를 취하는 앱은 이 브로드캐스트를 수신해야 합니다.

ACTION_DEVICE_OWNER_CHANGED

이 브로드캐스트는 그다지 자주 전송되지는 않습니다. 일부 앱은 기기의 보안 상태가 변경된 사실을 알 수 있도록 브로드캐스트를 수신해야 합니다.

ACTION_EVENT_REMINDER

캘린더 제공자가 캘린더 앱에 일정 알림을 게시하기 위해 이 브로드캐스트를 전송합니다. 캘린더 제공자는 캘린더 앱이 무엇인지 알지 못하므로 이 브로드캐스트는 암시적이어야 합니다.

ACTION_MEDIA_MOUNTED, ACTION_MEDIA_CHECKING, ACTION_MEDIA_UNMOUNTED, ACTION_MEDIA_EJECT, ACTION_MEDIA_UNMOUNTABLE, ACTION_MEDIA_REMOVED, ACTION_MEDIA_BAD_REMOVAL

이러한 브로드캐스트는 사용자와 기기의 물리적 상호작용(저장소 볼륨 설치 또는 삭제) 결과로 또는 부팅 초기화의 일환(사용 가능한 볼륨이 마운트될 때)으로 전송되므로 흔히 발생하지는 않으며 일반적으로 사용자가 제어할 수 있습니다.

SMS_RECEIVED_ACTION, WAP_PUSH_RECEIVED_ACTION

이러한 브로드캐스트는 SMS 수신자 앱이 사용합니다.