Mudanças no framework de compatibilidade (Android 14)

Figura 1. A tela "Mudanças na compatibilidade do app" nas opções do desenvolvedor lista as mudanças que podem ser ativadas ou desativadas.

Esta página descreve as mudanças alternáveis que fazem parte do framework de compatibilidade do Android 14 (nível 34 da API). Use esta lista em conjunto com as opções do desenvolvedor e os comandos adb para testar e depurar seu app enquanto você se prepara para oferecer suporte e direcionar para o Android 14.

Veja alguns exemplos do que você pode fazer usando as ferramentas do framework de compatibilidade:

  • Teste as mudanças esperadas sem realmente mudar a targetSdkVersion do app. Você pode usar as alternâncias para forçar a ativação de mudanças específicas de comportamento esperado e avaliar o impacto no app existente.
  • Concentre seus testes somente em mudanças específicas. Em vez de ter que resolver todas as mudanças esperadas de uma só vez, as alternâncias permitem as desativar, exceto as que você quer testar.
  • Gerencie alternâncias por meio do adb. Você pode usar comandos adb para ativar e desativar as mudanças alternáveis no seu ambiente de teste automatizado.
  • Depure mais rapidamente usando códigos de mudança padrão. Cada uma delas tem um código e um nome exclusivos que podem ser usados para depurar rapidamente a causa raiz na saída do registro.

Para ver informações completas sobre o uso das ferramentas em cada um desses casos, consulte Ferramentas do framework de compatibilidade.

Mudanças de comportamento incluídas no framework de compatibilidade

A lista nesta seção descreve mudanças alternáveis incluídas no framework de compatibilidade do Android 14.

É possível filtrar a lista de mudanças por Estado padrão.

Mudanças alternáveis no framework de compatibilidade do Android 14

ACCESS_SHARED_IDENTITY

ID da mudança:259743961
Estado padrão: ativada para todos os apps.

Concede acesso à identidade do app de abertura se ele tiver ativado o compartilhamento da identidade ao iniciar essa atividade com uma instância de ActivityOptions em que ActivityOptions.setShareIdentityEnabled(boolean) foi invocado com um valor de true ou se o UID da atividade aberta for o mesmo do app de abertura. Quando essa mudança é ativada e um desses requisitos é atendido, a atividade pode acessar o UID e o nome do pacote do app que foi aberto com Activity.getLaunchedFromUid() e Activity.getLaunchedFromPackage(), respectivamente.

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

ID da mudança:258236856
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou versões mais recentes.

Se ativada, aciona uma mensagem "O app não está respondendo" (ANR) quando os apps estão lentos para responder em APIs e funcionalidades do Android 13 (API de nível 33) ou versões anteriores.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

ID da mudança:207133734
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Em apps direcionados ao Android 14 (nível 34 da API) e versões mais recentes, permite conferir o acesso de autoridade do UID de chamada em todas as APIs relacionadas a sincronização.

CAMERA_MIC_INDICATORS_NOT_PRESENT

ID da mudança:162547999
Estado padrão: desativada para todos os apps.

Indica que o dispositivo oferece suporte a indicadores de câmera e microfone. O valor será false se presente, porque o método CompatChanges#isChangeEnabled retornará true se o ID da mudança não estiver presente.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

ID da mudança:244637991
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Quando um app envia uma PendingIntent usando PendingIntent#send() ou métodos semelhantes, ele agora precisa ativar um recurso para conceder à própria atividade em segundo plano os privilégios de inicialização para iniciar a intent pendente.

Para saber mais sobre essa mudança, na página de mudanças de comportamento do Android 14, consulte a seção sobre outras restrições para iniciar atividades em segundo plano.

DETACH_THROWS_ISE_ONLY

ID da mudança:236825255
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Flag para bloquear a exceção correta gerada por #detachImage.

#detachImage está documentado como responsável por gerar IllegalStateException em caso de erro. Um método auxiliar nativo gerará RuntimeException se a superfície tiver sido abandonada ao remover a Image.

Esse comportamento de exceção não documentado anteriormente continua no Android 13 (API de nível 33).

Após o Android 13 (API de nível 33), o método auxiliar nativo gera IllegalStateExceptions apenas de acordo com a documentação.

Quando essa mudança estiver ativada, #detachImage gerará uma IllegalStateException apenas se encontrar erros ao remover a imagem. O comportamento continua o mesmo para apps direcionados ao Android 13 (API de nível 33) e anteriores.

DOWNSCALED

ID da mudança:168419799
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as alterações de redução de escalonamento por buffer em cada app. A ativação dessa mudança permite que os seguintes fatores de escalonamento sejam aplicados:

Quando essa mudança é ativada para um pacote de apps, o app é forçado a ser redimensionado para o fator de escalonamento mais alto ativado. Por exemplo, 80% será usado se 80% e 70% (DOWNSCALE_80 e DOWNSCALE_70) estiverem ativados. Quando essa mudança e DOWNSCALED_INVERSE estão ativadas, DOWNSCALED_INVERSE tem precedência e o fator de escalonamento é aplicado de forma inversa.

DOWNSCALED_INVERSE

ID da mudança:273564678
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as alterações de redução de escalonamento inversa por buffer em cada app. A ativação dessa mudança permite que os seguintes fatores de escalonamento sejam aplicados de forma inversa (ou seja, a resolução é redimensionada):

Quando essa mudança é ativada para um pacote de apps, o app é forçado a ser redimensionado para o fator de escalonamento mais baixo e ativado. Por exemplo, 80% será usado se 80% e 70% (DOWNSCALE_80 e DOWNSCALE_70) estiverem ativados porque, quando aplicado inversamente, um fator de escalonamento de 80% é igual a 125%, que é menor que o escalonamento de 142,86% aplicado ao aplicar inversamente um fator de escalonamento de 70%. Quando essa mudança e DOWNSCALED estão ativadas, DOWNSCALED_INVERSE tem precedência e o fator de escalonamento é aplicado de forma inversa.

DOWNSCALE_30

ID da mudança:189970040
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 30% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 333,33% da resolução vertical e horizontal da tela real.

DOWNSCALE_35

ID da mudança:189969749
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 35% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 285,71% da resolução vertical e horizontal da tela real.

DOWNSCALE_40

ID da mudança:189970038
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 40% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 250% da resolução vertical e horizontal da tela real.

DOWNSCALE_45

ID da mudança:189969782
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 45% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 222,22% da resolução vertical e horizontal da tela real.

DOWNSCALE_50

ID da mudança:176926741
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar esta mudança para um pacote forçará o app a presumir que ele será executado em uma tela com 50% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 200% da resolução vertical e horizontal da tela real.

DOWNSCALE_55

ID da mudança:189970036
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 55% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 181,82% da resolução vertical e horizontal da tela real.

DOWNSCALE_60

ID da mudança:176926771
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 60% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 166,67% da resolução vertical e horizontal da tela real.

DOWNSCALE_65

ID da mudança:189969744
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 65% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 153,85% da resolução vertical e horizontal da tela real.

DOWNSCALE_70

ID da mudança:176926829
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 70% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 142,86% da resolução vertical e horizontal da tela real.

DOWNSCALE_75

ID da mudança:189969779
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar esta mudança para um pacote forçará o app a presumir que ele será executado em uma tela com 75% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar esta mudança para um pacote forçará o app a presumir que ele será executado em uma tela com 133,33% da resolução vertical e horizontal da tela real.

DOWNSCALE_80

ID da mudança:176926753
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar esta mudança para um pacote forçará o app a presumir que ele será executado em uma tela com 80% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 125% da resolução vertical e horizontal da tela real.

DOWNSCALE_85

ID da mudança:189969734
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar essa mudança para um pacote vai forçar o app a presumir que ele está sendo executado em uma tela com 85% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 117,65% da resolução vertical e horizontal da tela real.

DOWNSCALE_90

ID da mudança:182811243
Estado padrão: desativada para todos os apps.

Se a propriedade DOWNSCALED também estiver ativada, ativar esta mudança para um pacote forçará o app a presumir que ele será executado em uma tela com 90% da resolução vertical e horizontal da tela real. Se DOWNSCALED_INVERSE também estiver ativado, ativar essa mudança para um pacote vai forçar o app a presumir que ele será executado em uma tela com 111,11% da resolução vertical e horizontal da tela real.

ENABLE_PLATFORM_MDNS_BACKEND

ID da mudança:270306772
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Apps destinados ao Android 14 ou versões mais recentes usam uma implementação de mDNS integrada à plataforma como back-end, enquanto os apps destinados a versões anteriores continuam usando um back-end de rede de descoberta de serviços (NSD, na sigla em inglês) legado, com um daemon nativo legado como NsdManager.

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

ID da mudança:266524688
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou versões mais recentes.

A verificação autocertificada de recursos está ativada para apps destinados ao Android 14 ou versões mais recentes. Consulte NetworkCapabilities para mais detalhes.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

ID da mudança:154726397
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Em apps destinados ao Android 14 (nível 34 da API) e mais recentes, exige que os apps declarem as necessidades de visibilidade do pacote no manifesto para acessar as APIs AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

ID da mudança:218865702
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Em apps destinados ao Android 14 (nível 34 da API) e versões mais recentes, exige que todos os arquivos carregados dinamicamente sejam marcados como somente leitura. Isso impede que arquivos carregados dinamicamente sejam substituídos inesperadamente por agentes maliciosos.

Para saber mais sobre essa mudança, consulte a seção na página Mudanças de comportamento do Android 14 sobre carregamento de código dinâmico mais seguro.

ENFORCE_STRICT_QUERY_BUILDER

ID da mudança:143231523
Estado padrão: desativada para todos os apps.

Quando ativada, o SQLiteQueryBuilderCalendarProvider2 verifica todas as seleções de consulta para saber se há argumentos maliciosos.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

ID da mudança:265195908
Estado padrão: ativada para todos os apps.

Alarmes exatos que esperam um callback AlarmManager.OnAlarmListener são descartados quando o app de chamada entra em um estado em cache.

Para saber mais sobre as mudanças nos alarmes exatos no Android 14, consulte Programar alarmes exatos não é permitido por padrão.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

ID da mudança:261055255
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou versões mais recentes.

Quando ativada, os apps instantâneos precisam especificar os tipos de serviço em primeiro plano adequados para todos os serviços declarados no arquivo de manifesto do app.

Para saber mais sobre essa mudança, consulte a página que descreve as mudanças nos tipos de serviço em primeiro plano.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

ID da mudança:255042465
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Quando ativada, os apps destinados ao Android 14 (nível 34 da API) e mais recentes que iniciam um serviço em primeiro plano usando o tipo FOREGROUND_SERVICE_TYPE_NONE descontinuado geram um aviso no registro.

Para saber mais sobre essa mudança, consulte a página que descreve as mudanças nos tipos de serviço em primeiro plano.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

ID da mudança:255038118
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Quando ativada, os apps direcionados ao Android 14 (nível 34 da API) e mais recentes que iniciam um serviço em primeiro plano usando o tipo FOREGROUND_SERVICE_TYPE_NONE descontinuado resultam em uma exceção.

Para saber mais sobre essa mudança, consulte a página que descreve as mudanças nos tipos de serviço em primeiro plano.

FGS_TYPE_PERMISSION_CHANGE_ID

ID da mudança:254662522
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou versões mais recentes.

Quando ativada, os apps direcionados ao Android 14 (nível 34 da API) e mais recentes que iniciarem um serviço em primeiro plano sem as permissões necessárias associadas ao tipo de serviço em primeiro plano resultarão em uma SecurityException.

Para saber mais sobre essa mudança, consulte a página que descreve as mudanças nos tipos de serviço em primeiro plano.

FORCE_DISABLE_HEVC_SUPPORT

ID da mudança:174227820
Estado padrão: desativada para todos os apps.

Força um app a deixar de ser compatível com o recurso de mídia HEVC. Os apps precisam declarar no manifesto os recursos de mídia a que oferecem suporte, mas essa flag pode ser usada para forçar um app a não oferecer suporte a HEVC, forçando a transcodificação ao acessar mídias codificadas em HEVC. Definir essa flag substitui todos os padrões no nível do SO para apps. Ela fica desativada por padrão, o que significa que os padrões do SO têm prioridade. Se essa sinalização e FORCE_ENABLE_HEVC_SUPPORT estiverem ativadas, o SO vai ignorar as duas sinalizações.

FORCE_ENABLE_HEVC_SUPPORT

ID da mudança:174228127
Estado padrão: desativada para todos os apps.

Força o app a oferecer suporte ao recurso de mídia HEVC. Os apps precisam declarar no manifesto os recursos de mídia a que oferecem suporte. No entanto, essa flag pode ser usada para forçar um app a oferecer suporte a HEVC, evitando a transcodificação ao acessar mídias codificadas em HEVC. Definir essa flag substitui todos os padrões no nível do SO do app. Ele fica desativado por padrão, o que significa que os padrões do SO têm prioridade. Se essa flag e FORCE_DISABLE_HEVC_SUPPORT estiverem ativadas, o SO vai ignorar as duas flags.

FORCE_NON_RESIZE_APP

ID da mudança:181146395
Estado padrão: desativada para todos os apps.

Força os pacotes em que é aplicada a não serem redimensionáveis.

FORCE_RESIZE_APP

ID da mudança:174042936
Estado padrão: desativada para todos os apps.

Força os pacotes aos quais a substituição é aplicada a serem redimensionáveis. Só é permitido redimensionar janelas no modo de janela em tela cheia. Não é possível forçar o app a entrar no modo de várias janelas redimensionáveis.

GWP_ASAN

ID da mudança:145634846
Estado padrão: desativada para todos os apps.

Ativa a detecção de bugs de memória nativa de amostra em apps.

Para saber mais sobre o uso do GWP-ASan, consulte o Guia do GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

ID da mudança:229362273
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Em apps destinados ao Android 14 (nível 34 da API) e mais recentes, os componentes precisam ser exportados para serem invocados com intents implícitas. Se um componente não for exportado e invocado, ele será removido da lista de receptores. Isso se aplica especificamente a atividades e transmissões.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 14 sobre restrições a intents implícitas e pendentes.

ID da mudança:266201607
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Em apps destinados ao Android 14 (nível 34 da API) e mais recentes, é necessário pedir que o usuário dê consentimento antes de cada sessão de captura MediaProjection.

Para saber mais sobre essa mudança, consulte a seção na página de mudanças de comportamento do Android 14 sobre como o consentimento do usuário é necessário para cada sessão de captura MediaProjection.

NATIVE_HEAP_ZERO_INIT

ID da mudança:178038272
Estado padrão: desativada para todos os apps.

Ative a inicialização em zero automática para alocações de memória de heap nativa.

NATIVE_MEMTAG_ASYNC

ID da mudança:145772972
Estado padrão: desativada para todos os apps.

Ative a verificação assíncrona (ASYNC) de tags de memória nesse processo. Essa flag afeta apenas o hardware com suporte à extensão ARM Memory Tagging Extension (MTE).

NATIVE_MEMTAG_SYNC

ID da mudança:177438394
Estado padrão: desativada para todos os apps.

Ativa a verificação síncrona (SYNC) de tags de memória nesse processo. Essa flag afeta apenas o hardware com suporte à extensão ARM Memory Tagging Extension (MTE). Se NATIVE_MEMTAG_ASYNC e essa opção estiverem ativadas, essa opção terá preferência e a MTE será ativada no modo SYNC.

OVERRIDE_ANY_ORIENTATION

ID da mudança:265464455
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança permite que as seguintes substituições de orientação sejam aplicadas, independentemente da orientação solicitada pela atividade:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

ID da mudança:191514214
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança força os pacotes aplicados a ignorar o valor atual de android:resizeableActivity, bem como o SDK de destino igual ou menor que M e considerar a atividade como não redimensionável. Nesse caso, o valor de rotação e corte da câmera vai depender apenas da compensação necessária, considerando a rotação atual da tela.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

ID da mudança:189229956
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança força os pacotes aplicados a modificar o comportamento padrão de rotação e corte da câmera e sempre retornar CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

ID da mudança:266124927
Estado padrão: desativada para todos os apps.

Ativa SCREEN_ORIENTATION_REVERSE_LANDSCAPE no app em que ele é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativada, SCREEN_ORIENTATION_REVERSE_LANDSCAPE será usado somente quando a atividade especificar a orientação paisagem. Ativar essa mudança pode ajudar a testar o comportamento do app em busca de diferenças entre dispositivos em que a orientação paisagem corresponde a Surface.ROTATION_90 e dispositivos em que ela corresponde a Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

ID da mudança:174042980
Estado padrão: desativada para todos os apps.

Essa mudança é a responsável por todas as mudanças que forçam uma determinada proporção mínima. A ativação dela possibilita que as proporções mínimas a seguir sejam aplicadas:

Quando essa mudança é ativada para um pacote de apps, a proporção mínima fornecida no manifesto do app é substituída pela maior proporção ativada, a menos que o valor do manifesto seja maior.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

ID da mudança:218959984
Estado padrão: desativada para todos os apps.

Quando ativado, substitui a restrição de proporção mínima em tela cheia na orientação retrato para usar todo o espaço disponível na tela.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

ID da mudança:180326787
Estado padrão: desativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também estiver ativado, ativar essa mudança para um pacote vai definir a proporção mínima da atividade como um valor alto, conforme definido por OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

ID da mudança:180326845
Estado padrão: desativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também estiver ativado, ativar essa mudança para um pacote vai definir a proporção mínima da atividade como um valor médio, conforme definido por OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

ID da mudança:203647190
Estado padrão: ativada para todos os apps.

Quando OVERRIDE_MIN_ASPECT_RATIO também estiver ativado, essa mudança limita outras mudanças que forcem a proporção mínima de uma atividade a um determinado valor, como OVERRIDE_MIN_ASPECT_RATIO_LARGE e OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, para atividades que também têm orientação de retrato.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

ID da mudança:236283604
Estado padrão: desativada para todos os apps.

Quando ativada, essa mudança exclui os pacotes aplicados da opção "ignorar restrições de orientação" que os fabricantes de dispositivos podem definir.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

ID da mudança:265451093
Estado padrão: desativada para todos os apps.

Ativa SCREEN_ORIENTATION_NOSENSOR para o app ao qual é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativada, SCREEN_ORIENTATION_NOSENSOR será usado somente quando a atividade não especificar nenhuma outra orientação fixa.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

ID da mudança:265452344
Estado padrão: desativada para todos os apps.

Ativa SCREEN_ORIENTATION_PORTRAIT no app em que ele é aplicado. A menos que OVERRIDE_ANY_ORIENTATION também esteja ativado, SCREEN_ORIENTATION_PORTRAIT será usado somente quando a atividade não especificar nenhuma outra orientação fixa.

RATE_LIMIT_TOASTS

ID da mudança:174840628
Estado padrão: essa mudança não pode ser alternada. Ela só é registrada pelo framework de compatibilidade.

Ativa a limitação de taxa para o número de chamadas Toast.show() a fim de evitar sobrecarregar o usuário com muitos avisos em um período limitado. Qualquer tentativa de mostrar mais avisos do que o permitido em um determinado período faz com que o aviso seja descartado.

REJECT_NEGATIVE_NETWORK_ESTIMATES

ID da mudança:253665015
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou versões mais recentes.

Quando ativada, exige que os bytes estimados da rede não sejam negativos.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

ID da mudança:241104082
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recentes.

Em apps destinados ao Android 14 (nível 34 da API) e mais recentes, exige que o job de hospedagem especifique uma restrição de rede caso o JobWorkItem incluído indique o uso da rede.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

ID da mudança:271850009
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Em apps destinados ao Android 14 (nível 34 da API) e mais recentes, exige que os apps especifiquem as permissões INTERNET e ACCESS_NETWORK_STATE ao programar um job com uma restrição de conectividade.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

ID da mudança:255371817
Estado padrão: ativada para apps destinados ao Android 14 (nível 34 da API) ou mais recente.

Em apps destinados ao Android 14 (nível 34 da API) e versões mais recentes, o sistema gera uma exceção quando um app não implementa corretamente todas as APIs de transferência de dados necessárias ao especificar um job de transferência de dados iniciado pelo usuário.

Para saber mais sobre essa mudança, consulte a página que descreve como migrar serviços em primeiro plano para jobs de transferência de dados iniciados pelo usuário.

USE_EXPERIMENTAL_COMPONENT_ALIAS

ID da mudança:196254758
Estado padrão: desativada para todos os apps.

Quando ativada, o sistema permite que o pacote "android" use alias de componentes.