Bem-vindo à Visualização do desenvolvedor do Android 12. Envie seu feedback com antecedência e frequência e ajude a deixar o Android 12 ainda melhor.

Visão geral de recursos e APIs

O Android 12 introduz ótimos novos recursos e APIs para desenvolvedores. As seções abaixo ajudam você a conhecer os recursos disponíveis para os apps e a começar a usar as APIs relacionadas.

Para uma lista detalhada das APIs novas, modificadas e removidas, leia o Relatório de diferenças da API. Para ver detalhes sobre as novas APIs, acesse a Referência da API do Android. As APIs novas estão em destaque para melhor visibilidade. Além disso, para saber mais sobre as áreas em que as mudanças na plataforma podem afetar seus apps, consulte as mudanças de comportamento do Android 12 para apps destinados ao Android 12 e para todos os apps.

Novas experiências

API unificada para recebimento de conteúdo

Android 12 introduz uma nova API unificada que permite receber conteúdo avançado de qualquer fonte disponível: área de transferência, teclado ou recurso de arrastar e soltar.

Para ver mais informações, consulte API unificada para recebimento de conteúdo.

Mídia

Transcodificação de mídia compatível

O Android 12 pode transcodificar automaticamente vídeos HEVC(H.265) e HDR (HDR10 e HDR10+) gravados no dispositivo no formato AVC (H.264), que é amplamente compatível com players padrão. Isso aproveitará os codecs modernos disponíveis sem sacrificar a compatibilidade com aplicativos mais antigos.

Consulte transcodificação de mídia compatível para ver mais detalhes.

Compatibilidade com imagens AVIF

O Android 12 introduz a compatibilidade com imagens que usam o formato de arquivo de imagem AV1 (AVIF). O AVIF é um formato de contêiner para imagens e sequências de imagens codificadas com AV1. Ele aproveita o conteúdo codificado nos frames da compactação de vídeo. Isso melhora muito a qualidade da imagem, mantendo o mesmo tamanho de arquivo que os formatos de imagem mais antigos, como JPEG. Para ver informações detalhadas sobre as vantagens desse formato, consulte a postagem do blog de Jake Archibald (link em inglês).

Gerar efeitos táteis com o áudio

Os apps no Android 12 podem gerar retorno tátil de uma sessão de áudio usando a vibração do smartphone. Isso possibilita experiências mais imersivas para jogos e áudio. Por exemplo, toques com efeito tátil podem ajudar a identificar autores de chamadas ou jogos de carros podem simular a sensação de dirigir em um terreno irregular.

Consulte a documentação de referência do HapticGenerator para ver mais informações.

Compatibilidade nativa com ImageDecoder para GIF e WebP animados

No Android 12, a API ImageDecoder do NDK foi expandida para decodificar todos os frames e dados de tempo de imagens que usam os formatos de arquivo animados GIF e WebP. Quando foi introduzida no Android 11, essa API decodificava somente a primeira imagem das animações nesses formatos.

Use ImageDecoder em vez de bibliotecas de terceiros para diminuir o tamanho do APK e aproveitar as atualizações futuras relacionadas à segurança e ao desempenho.

Para ver mais detalhes sobre a API, consulte a referência da API e a amostra no GitHub (link em inglês).

Segurança

Verificação de propriedades de dispositivos disponíveis em apps que não são DPC

O Android 12 expande o conjunto de apps que podem verificar as propriedades do dispositivo incluídas em um certificado de atestado quando esses apps geram uma nova chave.

A partir do Android 9 (API de nível 28), os proprietários de políticas de dispositivos (DPOs, na sigla em inglês) que usam o Keymaster 4.0 ou versão mais recente podem verificar as propriedades do dispositivo nesses certificados de atestado. A partir do Android 12, qualquer app destinado ao Android 12 pode realizar essa verificação usando o método setDevicePropertiesAttestationIncluded().

As propriedades do dispositivo geradas incluem os campos Build a seguir:

  • BRAND
  • DEVICE
  • MANUFACTURER
  • MODEL
  • PRODUCT

Conectividade

Melhorias no Wi-Fi Aware (NAN)

O Android 12 inclui algumas melhorias no Wi-Fi Aware:

  • Em dispositivos com Android 12 e versões mais recentes, é possível usar o callback onServiceLost() para ser alertado quando o app perde um serviço descoberto porque esse serviço foi interrompido ou ficou fora de alcance.
  • A forma como vários caminhos de dados (caminhos de dados NAN) são configurados mudou para se tornar mais eficiente. As versões anteriores usavam mensagens L2 para trocar informações semelhantes dos iniciadores, o que causava latência. Em dispositivos com o Android 12 e versões mais recentes, o recurso de resposta (servidor) pode ser configurado para aceitar qualquer iniciador semelhante. Ou seja, não é necessário saber as informações do iniciador antecipadamente. Isso acelera a inicialização do caminho de dados e permite várias conexões de ponto a ponto com apenas uma solicitação de rede.
  • Para evitar que o framework rejeite solicitações de descoberta ou conexão devido à falta de recursos, é possível chamar WifiAwareManager.getAvailableAwareResources() em dispositivos com o Android 12 e versões mais recentes. O valor de retorno desse método informa o número de caminhos de dados disponíveis, o número de sessões de publicação disponíveis e o número de sessões de inscrição disponíveis.