Como parte dos limites de execução em segundo plano do Android 8.0 (nível 26 da API), os apps direcionados à API de nível 26 ou versões mais recentes não podem registrar broadcast receivers para transmissões implícitas no manifesto, a menos que a transmissão seja enviada especificamente a eles. No entanto, várias transmissões estão isentas dessas limitações. Os apps podem continuar registrando listeners para as transmissões a seguir, independente do nível de API direcionado aos apps.
ACTION_LOCKED_BOOT_COMPLETED,ACTION_BOOT_COMPLETED- Isento porque essas transmissões são enviadas apenas uma vez, na primeira inicialização, e muitos apps precisam receber essas transmissões, como para agendar jobs e alarmes.
ACTION_USER_INITIALIZE,android.intent.action.USER_ADDED,android.intent.action.USER_REMOVED- As permissões privilegiadas protegem essas transmissões. Portanto, a maioria dos apps normais não pode recebê-las.
android.intent.action.TIME_SET,ACTION_TIMEZONE_CHANGED,ACTION_NEXT_ALARM_CLOCK_CHANGED- Os apps de relógio podem precisar receber essas transmissões para atualizar alarmes quando a hora, o fuso horário ou os alarmes mudarem.
ACTION_LOCALE_CHANGED- O envio é feito apenas quando a localidade muda, o que não é frequente. Os apps podem precisar atualizar os dados quando a localidade mudar.
ACTION_USB_ACCESSORY_ATTACHED,ACTION_USB_ACCESSORY_DETACHED,ACTION_USB_DEVICE_ATTACHED,ACTION_USB_DEVICE_DETACHED- Quando um app precisa saber sobre esses eventos relacionados a USB, não há uma boa alternativa ao registro para a transmissão.
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED,BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED,ACTION_ACL_CONNECTED,ACTION_ACL_DISCONNECTED- A experiência do usuário provavelmente não vai ser afetada se os apps receberem transmissões para esses eventos de Bluetooth.
ACTION_CARRIER_CONFIG_CHANGED,TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED,TelephonyIntents.SECRET_CODE_ACTION,ACTION_PHONE_STATE_CHANGED,ACTION_PHONE_ACCOUNT_REGISTERED,ACTION_PHONE_ACCOUNT_UNREGISTERED- Os apps de telefonia de OEM podem precisar receber essas transmissões.
LOGIN_ACCOUNTS_CHANGED_ACTION- Alguns apps precisam ser informados sobre as mudanças nas contas de login para configurar operações programadas para as contas novas e alteradas.
ACTION_ACCOUNT_REMOVED- Os apps que têm visibilidade de uma conta recebem essa transmissão quando a
conta é removida. Se essa for a única mudança de conta em que o app precisa
interagir, recomendamos que ele use essa transmissão
em vez da
LOGIN_ACCOUNTS_CHANGED_ACTION, descontinuada. ACTION_PACKAGE_DATA_CLEARED- É enviado apenas quando o usuário limpa os dados explicitamente nas configurações. Portanto, é improvável que os broadcast receivers afetem de maneira significativa a experiência do usuário.
ACTION_PACKAGE_FULLY_REMOVEDAlguns apps precisam atualizar os dados armazenados quando outro pacote é removido. Para esses apps, não há uma boa alternativa para se registrar nessa transmissão.
Observação:outras transmissões relacionadas a pacotes, como
ACTION_PACKAGE_REPLACED, não estão isentas das restrições de execução em segundo plano. Essas transmissões são comuns o suficiente para que haja um possível impacto no desempenho ao isentá-las.ACTION_NEW_OUTGOING_CALLOs apps que agem em resposta a chamadas feitas por usuários precisam receber essa transmissão.
ACTION_DEVICE_OWNER_CHANGEDEsta transmissão não é enviada com muita frequência. Alguns apps precisam recebê-lo para que saibam que o status de segurança do dispositivo mudou.
ACTION_EVENT_REMINDEREnviada pelo provedor de agenda para postar um lembrete de evento no app Agenda. Como o provedor não sabe qual é o app de agenda, essa transmissão precisa ser implícita.
ACTION_MEDIA_MOUNTED,ACTION_MEDIA_CHECKING,ACTION_MEDIA_UNMOUNTED,ACTION_MEDIA_EJECT,ACTION_MEDIA_UNMOUNTABLE,ACTION_MEDIA_REMOVED,ACTION_MEDIA_BAD_REMOVALEssas transmissões são enviadas como resultado das interações físicas do usuário com o dispositivo, como a instalação ou remoção de volumes de armazenamento, ou como parte da inicialização da inicialização, à medida que os volumes disponíveis são montados. Elas não são uma ocorrência comum e geralmente estão sob o controle do usuário.
SMS_RECEIVED_ACTION,WAP_PUSH_RECEIVED_ACTIONOs apps de destinatários de SMS dependem dessas transmissões.