Exemplos de código

Use os exemplos de código abaixo para saber mais sobre os recursos e APIs do Android 8.0 (API nível 26). Para fazer o download dos exemplos no Android Studio, selecione a opção de menu File > New > Import Samples.

Observação: esses projetos disponíveis para download foram criados para uso com o Gradle e o Android Studio.

Canais de notificação

Exemplo de NotificationChannels: o Android 8.0 (API nível 26) passa a ser compatível com canais de notificação, que são aplicativos para organizar notificações em categorias de tópicos. Cada categoria pode ter o próprio estilo de alerta, e os usuários podem ativar ou desativar categorias seletivamente para atender aos interesses deles. Este exemplo demonstra como criar canais e anotar notificações de forma adequada.

Faça o download no GitHub: Java | Kotlin

Estrutura de preenchimento automático

Exemplo de AutofillFramework: esta amostra demonstra o uso da Estrutura de preenchimento automático introduzida no Android 8.0 (nível 26 de API). Inclui implementações de atividades do cliente que precisam ser preenchidas automaticamente e um serviço que pode fornecer dados de preenchimento automático para essas atividades.

Faça o download no GitHub: Java | Kotlin

Modo picture-in-picture

Exemplo de PictureInPicture: esta amostra demonstra o uso básico do modo picture-in-picture para dispositivos portáteis. O exemplo reproduz um vídeo, que continua sendo reproduzido quando o app é ativado no modo picture-in-picture. Na tela picture-in-picture, o app mostra uma ação necessária para pausar ou retomar o vídeo.

Faça o download no GitHub: Java | Kotlin

Fontes para download

DownloadableFonts: este exemplo demonstra como usar o recurso "Fontes para download" introduzido no Android 8.0 (API level 26). Esse recurso permite que os aplicativos solicitem determinada fonte a um provedor, em vez de empacotá-la ou fazer o download dela por conta própria. Isso significa que não é necessário empacotar a fonte de modo independente como um ativo.

Faça o download no GitHub: Java | Kotlin

EmojiCompat: este exemplo demonstra o uso da biblioteca de suporte de compatibilidade com emojis. Você pode usar essa biblioteca para evitar que seu app mostre caracteres de emoji ausentes (□). Use fontes de emoji empacotadas ou disponíveis para download. Este exemplo mostra os dois usos.

Faça o download no GitHub: Java | Kotlin

Limites de execução em segundo plano

Exemplo de anúncios Bluetooth: o exemplo de anúncios Bluetooth foi atualizado para atender aos limites de execução em segundo plano do Android 8.0 (API nível 26). Anteriormente, o exemplo criava um serviço em segundo plano que era usado para transmitir anúncios Bluetooth LE. Agora, esse processo é iniciado como um serviço de primeiro plano para garantir a execução.

Disponível no GitHub: Java

Restrições de localização em segundo plano

Exemplo de LocationUpdatesPendingIntent: mostra como solicitar atualizações de localização usando um PendingIntent. Para aplicativos destinados ao Android 7.x (níveis de API 24-25), mas executados no Android 8.0 (API nível 26), os desenvolvedores podem usar PendingIntent.getService() ou PendingIntent.getBroadcast(). Para aplicativos destinados ao Android 8.0, o PendingIntent.getService() não funciona devido aos limites impostos a serviços iniciados em segundo plano. Ao segmentar o Android 8.0, os desenvolvedores devem usar PendingIntent.getBroadcast().

Disponível no GitHub: Java

Exemplo de LocationUpdatesForegroundService: mostra como usar um serviço de primeiro plano para receber atualizações de localização quando as atividades do aplicativo não estão visíveis. Para aplicativos em execução no Android 8.0 (nível 26 de API), as atualizações em segundo plano são limitadas a apenas algumas vezes por hora. Usar um serviço de primeiro plano é uma maneira de receber atualizações mais frequentes.

Disponível no GitHub: Java

AAudio

Exemplo de AAudio Echo: AAudio é uma nova API NDK que oferece acesso a áudio de baixa latência aos apps Pro Audio em dispositivos compatíveis. Este exemplo demonstra como criar um fluxo de entrada e saída configurado para loopback.

Disponível no GitHub: C++