Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Como parte de los límites de ejecución en segundo plano de Android 8.0 (nivel de API 26), las apps que se orientan a la API nivel 26 o versiones posteriores no pueden registrar receptores de emisión para transmisiones implícitas en su manifiesto, a menos que la emisión se envíe específicamente a ellas.
Sin embargo, varias transmisiones están exentas de estas limitaciones. Las apps pueden continuar registrando objetos de escucha para las siguientes transmisiones, sin importar el nivel de API al que se orienten.
Están exentas porque estas transmisiones se envían una sola vez, en el primer inicio, y muchas apps necesitan recibirlas, por ejemplo, para programar tareas y alarmas.
Es posible que las apps de reloj necesiten recibir estas transmisiones para actualizar las alarmas cuando cambien la hora, la zona horaria o las alarmas.
Solo se envía cuando la configuración regional cambia, lo que no ocurre con frecuencia. Es posible que las apps deban actualizar sus datos cuando cambie la configuración regional.
Algunas apps necesitan conocer los cambios en las cuentas de acceso para poder configurar operaciones programadas para las cuentas nuevas y modificadas.
Las apps que tienen visibilidad de una cuenta reciben esta transmisión cuando se quita la cuenta. Si este es el único cambio de cuenta sobre el que debe actuar la app, recomendamos que use esta transmisión en lugar del objeto LOGIN_ACCOUNTS_CHANGED_ACTION obsoleto.
Solo se envía cuando el usuario borra explícitamente sus datos de la Configuración, por lo que es poco probable que los receptores de emisión afecten significativamente la experiencia del usuario.
Algunas apps necesitan actualizar sus datos almacenados cuando se quita otro paquete. En el caso de esas apps, no hay una buena alternativa al registro para esta transmisión.
Nota: Otras transmisiones relacionadas con paquetes (como ACTION_PACKAGE_REPLACED) no están exentas de las restricciones de ejecución en segundo plano. Estas transmisiones son lo suficientemente comunes como para que su exención pueda tener un impacto en el rendimiento.
Lo envía el proveedor de calendario a fin de publicar un recordatorio de evento en la app de calendario. Como el proveedor de calendario no sabe qué es la app de calendario, esta emisión debe ser implícita.
Estas transmisiones se envían como resultado de las interacciones físicas del usuario con el dispositivo, como la instalación o eliminación de volúmenes de almacenamiento, o como parte de la inicialización del inicio, a medida que se activan los volúmenes disponibles. No son un hecho común y, por lo general, están bajo el control del usuario.
Las apps que reciben SMS dependen de estas transmisiones.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Implicit broadcast exceptions\n\nAs part of the Android 8.0 (API level 26) [background execution\nlimits](/about/versions/oreo/background#broadcasts), apps that target the\nAPI level 26 or higher can't register broadcast receivers for implicit\nbroadcasts in their manifest unless the broadcast is sent specifically to them.\nHowever, several broadcasts are exempted from these limitations. Apps can\ncontinue to register listeners for the following broadcasts, no matter what API\nlevel the apps target.\n| **Note:** Even though these implicit broadcasts still work in the background, avoid registering listeners for them.\n\n[ACTION_LOCKED_BOOT_COMPLETED](/reference/android/content/Intent#ACTION_LOCKED_BOOT_COMPLETED), [ACTION_BOOT_COMPLETED](/reference/android/content/Intent#ACTION_BOOT_COMPLETED)\n: Exempted because these broadcasts are sent only once, at first boot,\n and many apps need to receive these broadcasts, such as to schedule jobs and alarms.\n\n[ACTION_USER_INITIALIZE](/reference/android/content/Intent#ACTION_USER_INITIALIZE), `android.intent.action.USER_ADDED`, `android.intent.action.USER_REMOVED`\n: Privileged permissions protect these broadcasts, so most normal\n apps can't receive them anyway.\n\n`android.intent.action.TIME_SET`, [ACTION_TIMEZONE_CHANGED](/reference/android/content/Intent#ACTION_TIMEZONE_CHANGED), [ACTION_NEXT_ALARM_CLOCK_CHANGED](/reference/android/app/AlarmManager#ACTION_NEXT_ALARM_CLOCK_CHANGED)\n: Clock apps might need to receive these broadcasts to update alarms when the\n time, timezone, or alarms change.\n\n[ACTION_LOCALE_CHANGED](/reference/android/content/Intent#ACTION_LOCALE_CHANGED)\n: Only sent when the locale changes, which is not often. Apps might need to\n update their data when the locale changes.\n\n[ACTION_USB_ACCESSORY_ATTACHED](/reference/android/hardware/usb/UsbManager#ACTION_USB_ACCESSORY_ATTACHED), [ACTION_USB_ACCESSORY_DETACHED](/reference/android/hardware/usb/UsbManager#ACTION_USB_ACCESSORY_DETACHED), [ACTION_USB_DEVICE_ATTACHED](/reference/android/hardware/usb/UsbManager#ACTION_USB_DEVICE_ATTACHED), [ACTION_USB_DEVICE_DETACHED](/reference/android/hardware/usb/UsbManager#ACTION_USB_DEVICE_DETACHED)\n: When an app needs to know about these USB-related events, there is no\n good alternative to registering for the broadcast.\n\n[BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED](/reference/android/bluetooth/BluetoothHeadset#ACTION_CONNECTION_STATE_CHANGED), [BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED](/reference/android/bluetooth/BluetoothA2dp#ACTION_CONNECTION_STATE_CHANGED), [ACTION_ACL_CONNECTED](/reference/android/bluetooth/BluetoothDevice#ACTION_ACL_CONNECTED), [ACTION_ACL_DISCONNECTED](/reference/android/bluetooth/BluetoothDevice#ACTION_ACL_DISCONNECTED)\n: User experience is not likely to suffer if apps receive broadcasts for these\n Bluetooth events.\n\n[ACTION_CARRIER_CONFIG_CHANGED](/reference/android/telephony/CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED), `TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED`, `TelephonyIntents.SECRET_CODE_ACTION`, [ACTION_PHONE_STATE_CHANGED](/reference/android/telephony/TelephonyManager#ACTION_PHONE_STATE_CHANGED), [ACTION_PHONE_ACCOUNT_REGISTERED](/reference/android/telecom/TelecomManager#ACTION_PHONE_ACCOUNT_REGISTERED), [ACTION_PHONE_ACCOUNT_UNREGISTERED](/reference/android/telecom/TelecomManager#ACTION_PHONE_ACCOUNT_UNREGISTERED)\n: OEM telephony apps might need to receive these broadcasts.\n\n[LOGIN_ACCOUNTS_CHANGED_ACTION](/reference/android/accounts/AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION)\n: Some apps need to know about changes to login accounts so they can set up\n scheduled operations for the new and changed accounts.\n\n[ACTION_ACCOUNT_REMOVED](/reference/android/accounts/AccountManager#ACTION_ACCOUNT_REMOVED)\n: Apps that have visibility into an account receive this broadcast when the\n account is removed. If this is the only account change that the app needs\n to act on, we recommend that the app use this broadcast\n instead of the deprecated\n [LOGIN_ACCOUNTS_CHANGED_ACTION](/reference/android/accounts/AccountManager#LOGIN_ACCOUNTS_CHANGED_ACTION).\n\n[ACTION_PACKAGE_DATA_CLEARED](/reference/android/content/Intent#ACTION_PACKAGE_DATA_CLEARED)\n: Only sent when the user explicitly clears their data from Settings,\n so broadcast receivers are unlikely to significantly affect user experience.\n\n[ACTION_PACKAGE_FULLY_REMOVED](/reference/android/content/Intent#ACTION_PACKAGE_FULLY_REMOVED)\n\n: Some apps need to update their stored data when another package is\n removed. For those apps, there is no good alternative to registering for this\n broadcast.\n\n **Note:** Other package-related broadcasts (such as [ACTION_PACKAGE_REPLACED](/reference/android/content/Intent#ACTION_PACKAGE_REPLACED)) are *not* exempted from\n the background execution restrictions. These broadcasts are common enough that there is a\n potential performance impact to exempting them.\n\n[ACTION_NEW_OUTGOING_CALL](/reference/android/content/Intent#ACTION_NEW_OUTGOING_CALL)\n\n: Apps that take action in response to users placing calls need to receive this\n broadcast.\n\n[ACTION_DEVICE_OWNER_CHANGED](/reference/android/app/admin/DevicePolicyManager#ACTION_DEVICE_OWNER_CHANGED)\n\n: This broadcast is not sent very often. Some apps need to receive it, so that\n they know that the device's security status changed.\n\n[ACTION_EVENT_REMINDER](/reference/android/provider/CalendarContract#ACTION_EVENT_REMINDER)\n\n: Sent by the [calendar\n provider](/guide/topics/providers/calendar-provider) to post an event\n reminder to the calendar app. Since the calendar provider doesn't know what\n the calendar app is, this broadcast must be implicit.\n\n[ACTION_MEDIA_MOUNTED](/reference/android/content/Intent#ACTION_MEDIA_MOUNTED), [ACTION_MEDIA_CHECKING](/reference/android/content/Intent#ACTION_MEDIA_CHECKING), [ACTION_MEDIA_UNMOUNTED](/reference/android/content/Intent#ACTION_MEDIA_UNMOUNTED), [ACTION_MEDIA_EJECT](/reference/android/content/Intent#ACTION_MEDIA_EJECT), [ACTION_MEDIA_UNMOUNTABLE](/reference/android/content/Intent#ACTION_MEDIA_UNMOUNTABLE), [ACTION_MEDIA_REMOVED](/reference/android/content/Intent#ACTION_MEDIA_REMOVED), [ACTION_MEDIA_BAD_REMOVAL](/reference/android/content/Intent#ACTION_MEDIA_BAD_REMOVAL)\n\n: These broadcasts are sent as a result of the user's physical interactions with\n the device, like installing or removing storage volumes, or as part of\n boot initialization, as available volumes get mounted. They aren't a common\n occurrence, and are usually under the user's control.\n\n[SMS_RECEIVED_ACTION](/reference/android/provider/Telephony.Sms.Intents#SMS_RECEIVED_ACTION), [WAP_PUSH_RECEIVED_ACTION](/reference/android/provider/Telephony.Sms.Intents#WAP_PUSH_RECEIVED_ACTION)\n\n: SMS recipient apps rely on these broadcasts."]]