Como parte do Android 8.0 (API de nível 26) Limites da execução em segundo plano, os apps voltados à API de nível 26 ou posterior não podem mais registrar broadcast receivers para transmissões implícitas no manifesto deles. Porém, várias transmissões estão isentas dessas limitações no momento. Os apps podem continuar registrando listeners para as seguintes transmissões, independentemente do nível de API que os apps segmentam.
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 essa transmissão para programar jobs, alarmes e assim por diante.
ACTION_USER_INITIALIZE
,"android.intent.action.USER_ADDED"
,"android.intent.action.USER_REMOVED"
- Essas transmissões são protegidas por permissões privilegiadas, então, de qualquer maneira, a maioria dos apps normais não pode recebê-las.
"android.intent.action.TIME_SET"
,ACTION_TIMEZONE_CHANGED
,ACTION_NEXT_ALARM_CLOCK_CHANGED
- Apps de relógio podem precisar receber essas transmissões para atualizar alarmes quando o fuso horário, a hora ou os alarmes mudarem.
ACTION_LOCALE_CHANGED
- O envio é feito apenas quando a localidade muda, o que não é frequente. Talvez os apps precisem atualizar os dados quando a localidade mudar.
ACTION_USB_ACCESSORY_ATTACHED
,ACTION_USB_ACCESSORY_DETACHED
,ACTION_USB_DEVICE_ATTACHED
,ACTION_USB_DEVICE_DETACHED
- Se um app precisar de informações sobre esses eventos relacionados a USB, não há uma boa alternativa ao registro para a transmissão.
ACTION_CONNECTION_STATE_CHANGED
,ACTION_CONNECTION_STATE_CHANGED
,ACTION_ACL_CONNECTED
,ACTION_ACL_DISCONNECTED
- A experiência do usuário provavelmente não 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 OEM podem precisar receber essas transmissões.
LOGIN_ACCOUNTS_CHANGED_ACTION
- Alguns apps precisam saber sobre as mudanças nas contas de login para que possam configurar as operações programadas para as contas novas e modificadas.
ACTION_ACCOUNT_REMOVED
- Os apps que têm visibilidade a uma conta recebem essa transmissão quando ela é removida. Se essa for a única mudança de conta em que o app precisa agir, é altamente recomendável que ele use essa transmissão em vez do
LOGIN_ACCOUNTS_CHANGED_ACTION
obsoleto. ACTION_PACKAGE_DATA_CLEARED
- O envio é feito apenas quando o usuário limpa explicitamente os próprios dados das Configurações. Portanto, os broadcast receivers provavelmente não afetarão de forma significativa a experiência do usuário.
ACTION_PACKAGE_FULLY_REMOVED
Alguns apps talvez precisem atualizar os dados armazenados quando outro pacote for removido. Para esses apps, não há uma boa alternativa ao registro dessa transmissão.
Observação: outras transmissões relacionadas a pacotes, como
ACTION_PACKAGE_REPLACED
, não ficam isentas das novas restrições. Essas transmissões são comuns o suficiente para que haja um possível impacto no desempenho em função da isenção.ACTION_NEW_OUTGOING_CALL
Apps que realizam ações em resposta a usuários que fazem chamadas precisam receber essa transmissão.
ACTION_DEVICE_OWNER_CHANGED
Esta transmissão não é enviada com muita frequência. Alguns apps precisam recebê-la para que saibam que o status de segurança do dispositivo mudou.
ACTION_EVENT_REMINDER
Enviado pelo provedor de agenda para postar um lembrete de evento no app de agenda. Como o provedor de agenda não sabe o que é 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_REMOVAL
Essas transmissões são enviadas como resultado das interações físicas do usuário com o dispositivo. Por exemplo, instalação ou remoção de volumes de armazenamento, ou como parte da inicialização, à medida que os volumes forem ativados. Por isso, elas não são uma ocorrência comum e, em geral, estão sob controle do usuário.
SMS_RECEIVED_ACTION
,WAP_PUSH_RECEIVED_ACTION
Essas transmissões são usadas pelos apps do destinatário de SMS.