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.