Android Developers
Plataforma Android Studio Google Play Jetpack Kotlin Documentos Notícias
  • Documentação
Visão geral Guias Referência Amostras Design e qualidade
Android Developers
  • Plataforma
  • Android Studio
  • Google Play
  • Jetpack
  • Kotlin
  • Documentos
    • Visão geral
    • Guias
    • Referência
    • Amostras
    • Design e qualidade
  • Notícias
  • Noções básicas do app
  • Introdução
  • Criar seu primeiro app
    • Visão geral
    • Criar um projeto para Android
    • Executar seu app
    • Criar uma IU simples
    • Iniciar outra atividade
  • Fundamentos do app
  • Recursos do app
    • Visão geral
    • Gerenciar alterações de configuração
    • Localização
      • Localizar seu app
      • Testar seu app com pseudolocalizações
      • Compatibilidade com Unicode e internacionalização
      • Resolução de idioma e localidade
    • Recursos XML complexos
    • Tipos de recursos
      • Visão geral
      • Animação
      • Lista de estados de cores
      • Drawable
      • Layout
      • Menu
      • String
      • Estilo
      • Fonte
      • Mais tipos
  • Arquivo de manifesto do app
    • Visão geral
    • <action>
    • <activity>
    • <activity-alias>
    • <application>
    • <category>
    • <compatible-screens>
    • <data>
    • <grant-uri-permission>
    • <instrumentation>
    • <intent-filter>
    • <manifest>
    • <meta-data>
    • <path-permission>
    • <permission>
    • <permission-group>
    • <permission-tree>
    • <provider>
    • <receiver>
    • <service>
    • <supports-gl-texture>
    • <supports-screens>
    • <uses-configuration>
    • <uses-feature>
    • <uses-library>
    • <uses-permission>
    • <uses-permission-sdk-23>
    • <uses-sdk>
  • Permissões do app
    • Visão geral
    • Solicitar permissões do app
    • Práticas recomendadas de permissões do app
    • Permissões usadas somente em gerenciadores padrão
    • Definir permissões personalizadas
  • Dispositivos
  • Compatibilidade do dispositivo
    • Visão geral
    • Visão geral da compatibilidade de tela
    • Compatibilidade com tamanhos de tela diferentes
    • Compatibilidade com densidades de pixel diferentes
    • Compatibilidade com cortes de tela
    • Declarar compatibilidade restrita com a tela
    • Compatibilidade com vários APKs
      • Visão geral
      • Criar vários APKs para níveis de API diferentes
      • Criar vários APKs para tamanhos de tela diferentes
      • Criar vários APKs para texturas GL diferentes
      • Criar vários APKs com diversas dimensões
    • Compatibilidade com diferentes idiomas e culturas
    • Compatibilidade com diferentes versões da plataforma
    • Filtros no Google Play
  • Wear
    • Visão geral
    • Como adicionar recursos do Wearable às notificações
      • Visão geral
      • Criação de uma notificação
      • Estilos de notificação
      • Modo bridge para notificações
      • Como manter a compatibilidade
    • Como criar apps para wearables
      • Visão geral
      • Como criar e executar um app para wearables
      • Apps autônomos
      • Como criar layouts personalizados
      • Como manter seu app visível
      • Como autenticar no Android Wear
      • Como adicionar recursos de voz
      • Como empacotar e distribuir apps do Android Wear
      • Como depurar um app do Android Wear
      • Como capturar a tela da IU do Android Wear
      • Como criar apps do Android Wear para a China
    • Como criar IUs personalizadas
      • Visão geral
      • Como definir layouts
      • Como criar listas
      • Como mostrar confirmações
      • Como sair das atividades em tela cheia
      • Como usar a biblioteca Wear UI
      • Navegação e ações do Android Wear
      • Botões multifuncionais
      • Entrada rotativa
      • Como criar editores do método de entrada
      • Como usar gestos de pulso
    • Como enviar e sincronizar dados
      • Visão geral
      • Acesso à rede e sincronização
      • Como acessar a camada de dados wearable
      • Como sincronizar itens de dados
      • Como transferir recursos
      • Envio e recebimento de mensagens
      • Como gerenciar eventos da camada de dados
      • Como migrar apps do Android Wear para o GoogleApi
    • Como criar provedores de dados
      • Visão geral
      • Expor dados a complicações
    • Como criar mostradores de relógio
      • Visão geral
      • Como projetar mostradores de relógio
      • Como criar um serviço para mostradores de relógio
      • Como desenhar mostradores de relógio
      • Complicações de mostradores de relógio
      • Como expor dados a complicações
      • Como adicionar complicações a um mostrador de relógio
      • Como criar mostradores de relógio interativos
      • Fornecimento de atividades de configuração
      • Problemas comuns
      • Como otimizar mostradores de relógio
    • Como detectar o local
    • Como solicitar permissões
    • Como usar o alto-falante
  • Android TV
    • Visão geral
    • Criar apps para TV
      • Visão geral
      • Introdução a apps para TV
      • Gerenciar o hardware da TV
      • Gerenciar controladores de TV
      • Criar layouts para TV
      • Criar navegação para TV
    • Criar apps de reprodução para TV
      • Visão geral
      • Criar um navegador de catálogo
      • Oferecer uma visualização de card
      • Criar uma visualização detalhada
      • Usar controles de transporte do Leanback
      • Exibir um card do "Tocando agora"
      • Adicionar uma etapa guiada
      • Apresentar usuários iniciantes ao seu app
      • Permitir reprodução em segundo plano
    • Ajudar usuários a encontrar conteúdo na TV
      • Visão geral
      • Conteúdo de TV recomendado
        • Visão geral
        • Canais na tela inicial
        • Atributos do programa de vídeo
        • Atributos do programa de áudio
        • Atributos do programa de jogo
        • Atributos Watch Next
        • Ver vídeos
        • Recomendações no Android N e versões anteriores
      • Tornar os apps da TV pesquisáveis
      • Pesquisar nos apps da TV
    • Criar jogos para TV
    • Criar canais para TV
      • Visão geral
      • Desenvolver um serviço de entrada para TV
      • Trabalhar com dados do canal
      • Gerenciar a interação do usuário com a TV
      • Compatibilidade com diferença de tempo
      • Compatibilidade com gravação de conteúdo
    • Lista de verificação de apps para TV
  • Android para carros
    • Visão geral
    • Google Play Services
    • Notificações no Android Automotive OS
    • Primeiros passos com o Android para carros
    • Criar apps de mídia Android para carros
    • Criar apps de mensagem para o Android Auto
    • Adicionar compatibilidade com o Android Automotive OS
    • Testar apps Android para carros
  • Android Things
    • Visão geral
    • Diferenças de plataforma
    • Serviços do Google
    • Hardware compatível
    • Kits do desenvolvedor
      • Primeiros passos
      • NXP i.MX7D
      • Raspberry Pi 3
      • Configuração avançada
        • Visão geral
        • Atualizar uma imagem manualmente
        • Recuperar um dispositivo
        • Como conectar ao Wi-Fi com adb
    • Criar apps
      • Criar um app do Android Things
        • Visão geral
        • Criar um projeto
        • Conectar o hardware
        • Interagir com periféricos
        • Integrar drivers periféricos
      • Estabelecer comunicação com dispositivos sem fio
        • Bluetooth
        • LoWPAN
      • Configurar dispositivos
        • Configurações
        • Atualizações
      • Interagir com periféricos
        • Visão geral
        • GPIO
        • PWM
        • I2C
        • SPI
        • UART
        • PIO nativo
        • Ferramenta CLI
      • Integrar código nativo
      • Criar drivers de espaço do usuário
        • Visão geral
        • Local
        • Entrada
        • Sensores
        • LoWPAN
      • Amostras
    • Gerenciar dispositivos
      • Visão geral
      • Criar um produto
      • Configurar um produto
      • Criar uma versão
        • Visão geral
        • Gerenciar apps
      • Enviar uma atualização por push
        • Visão geral
        • Atualizações automáticas
      • Monitorar análise
    • Termos
      • Termos de Serviço do Console
      • Contrato de licença do SDK
    • Console do Android Things
  • Dispositivos Chrome OS
    • Visão geral
    • Como criar apps para o Chrome OS
    • Como preparar seu ambiente de desenvolvimento
    • Como otimizar apps para o Chrome OS
    • Como resolver problemas com o tamanho da tela
    • Compatibilidade do manifesto do app para Chromebooks
    • Como carregar apps em Chromebooks
    • Compatibilidade com dispositivos Chrome OS para apps
    • Diferenças de renderização de apps em Chromebooks
    • Como gerenciar janelas
    • Compatibilidade de entrada para Chromebooks
    • Dispositivos Chrome OS no Android Emulator
    • Casos de teste para apps Android no Chrome OS
    • Animação suave no Chrome OS
  • Assuntos principais
  • Atividades
    • Introdução a atividades
    • Ciclo de vida da atividade
    • Alterações no estado da atividade
    • Testar suas atividades
    • Tarefas e pilha de retorno
    • Processos e ciclo de vida de um app
    • Parcelables e pacotes
    • Fragmentos
      • Visão geral
      • Criar um fragmento
      • Testar seus fragmentos
      • Criar uma IU flexível
      • Estabelecer comunicação com outros fragmentos
    • Interagir com outros apps
      • Visão geral
      • Como enviar o usuário para outro app
      • Como ver um resultado de uma atividade
      • Como permitir que outros apps inicializem sua atividade
    • Como gerenciar links de apps
      • Visão geral
      • Como ativar links para o conteúdo do app
      • Verificar os links de apps
      • Criar links para apps instantâneos
    • Carregadores
    • Telas recentes
    • Compatibilidade com "Várias janelas"
    • Restrições para o início de atividades em segundo plano
    • Criar apps para dispositivos dobráveis
    • Atalhos de apps
      • Visão geral
      • Criar atalhos
      • Gerenciar atalhos
      • Práticas recomendadas para atalhos
    • Widgets de apps
      • Visão geral
      • Criar um widget de apps
      • Criar um host de widgets de apps
  • Componentes de arquitetura
    • Visão geral
    • Como adicionar componentes ao seu projeto
    • Biblioteca Data Binding
      • Visão geral
      • Primeiros passos
      • Layouts e expressões de vinculação
      • Trabalhar com objetos de dados observáveis
      • Classes de vinculação geradas
      • Como vincular adaptadores
      • Vincular exibições de layout a componentes de arquitetura
      • Vinculação de dados bidirecional
    • Como gerenciar ciclos de vida
    • LiveData
    • Biblioteca Paging
      • Visão geral
      • Exibir listas paginadas
      • Carregar dados paginados
    • Biblioteca Room Persistence
    • ViewModel
    • WorkManager
      • Visão geral
      • Primeiros passos
      • Guias de instruções
        • Como definir WorkRequests
        • Como analisar o status do seu trabalho
        • Como encadear trabalhos
        • Como cancelar e interromper o trabalho
        • Como gerenciar um trabalho recorrente
        • Como gerenciar um trabalho exclusivo
        • Como testar seus Workers
        • Como testar com o WorkManager 2.1.0
      • Conceitos avançados
        • Configuração e inicialização
        • Linhas de execução no WorkManager
          • Visão geral
          • Linhas de execução no Worker
          • Linhas de execução no CoroutineWorker
          • Linhas de execução no RxWorker
          • Linhas de execução no ListenableWorker
      • Como migrar do Firebase JobDispatcher
      • Como migrar do GCMNetworkManager
    • Como salvar estados
    • Módulo Saved State para ViewModel
    • Usar corotinas do Kotlin com componentes de arquitetura
    • Notas da versão
    • Outros recursos
  • Navegação
    • Visão geral
    • Princípios do Navigation
    • Primeiros passos
    • Criar destinos
    • Projetar para diferentes formatos
    • Navegação por gestos
    • Criar gráficos de navegação
    • Gráficos aninhados
    • Ações globais
    • Navegar até um destino
    • Navegação condicional
    • Transmitir dados entre destinos
    • Criar um link direto para um destino
    • Animar transições entre destinos
    • Atualizar componentes da IU com NavigationUI
    • Criar visualizações deslizáveis com guias
    • Interagir programaticamente
    • Testar navegação
    • Adicionar novos tipos de destino
    • Oferecer navegação de retorno personalizada
    • Migrar para o componente do Navigation
  • Intents e filtros de intent
    • Visão geral
    • Intents comuns
  • Interface do usuário
    • Visão geral
    • Layouts
      • Visão geral
      • Como criar uma IU responsiva com o ConstraintLayout
      • Como criar uma lista com o RecyclerView
      • Como criar um layout com base em cartão
      • Como implementar fluxos adaptáveis de IU
      • Como melhorar o desempenho do layout
        • Visão geral
        • Como otimizar as hierarquias de layout
        • Como reutilizar layouts com <include></include>
        • Atraso no carregamento de visualizações
      • Layout linear
      • Visualização do adaptador
      • Layout relativo
      • Personalizar componentes de visualização
        • Visão geral
        • Como criar uma classe de visualização personalizada
        • Como implementar desenho personalizado
        • Como tornar a visualização interativa
        • Como otimizar a visualização
    • Aparência
      • Material Design
      • Estilos e temas
      • Tema escuro
      • Ícones adaptáveis
      • Adicionar um botão de ação flutuante
      • Criar sombras e recortar visualizações
      • Texto
        • Dimensionamento automático do TextView
        • Fontes para download
        • Fontes em XML
        • Compatibilidade com emoji
        • Widget de lupa
        • Períodos
      • Botões
      • Caixas de seleção
      • Botões de opção
      • Botões ativar
      • Controles giratórios
      • Seletores
      • Dicas
    • Notificações
      • Visão geral
      • Criar uma notificação
      • Criar notificação expansível
      • Exibir notificações com detecção de hora
      • Iniciar atividade a partir de uma notificação
      • Criar um grupo de notificações
      • Criar e gerenciar canais de notificação
      • Modificar um selo de notificação
      • Criar notificação personalizada
    • Bolhas
    • Adicionar a barra do app
      • Visão geral
      • Configurar a barra de apps
      • Adicionar e administrar ações
      • Adicionar uma ação "Up"
      • Usar exibições e provedores de ação
    • Controlar a visibilidade da IU de sistema
      • Visão geral
      • Escurecer as barras do sistema
      • Ocultar a barra de status
      • Ocultar a barra de navegação
      • Ativar modo de tela cheia
      • Responder a alterações de visibilidade da IU
    • Compatibilidade com recurso de deslizar para atualizar
      • Visão geral
      • Como adicionar o recurso de deslizar para atualizar ao seu app
      • Como responder a um gesto de atualização
    • Visão geral das notificações toast
    • Visão geral das mensagens pop-up
      • Visão geral
      • Criar e exibir uma mensagem pop-up
      • Adicionar ação a uma mensagem
    • Caixas de diálogo
    • Menus
    • Configurações
      • Visão geral
      • Organizar as configurações
      • Personalizar as configurações
      • Usar valores salvos
      • Criar uma hierarquia no código
      • Lidar com outros fatores de forma
      • Componentes e atributos de preferência
    • Pesquisar
      • Visão geral
      • Como criar uma interface de pesquisa
      • Como adicionar sugestões de consultas recentes
      • Como adicionar sugestões personalizadas
      • Configuração pesquisável
      • Como adicionar funcionalidade de pesquisa
        • Visão geral
        • Como configurar a interface de pesquisa
        • Como armazenar e pesquisar dados
        • Como continuar compatível com versões anteriores
    • Copiar e colar
    • Arrastar e soltar
    • Compatibilidade com "picture-in-picture"
    • Como criar IUs compatíveis com versões anteriores
      • Visão geral
      • Como abstrair as novas APIs
      • Proxy para as novas APIs
      • Como criar uma implementação com APIs mais antigas
      • Como usar o componente com reconhecimento de versão
  • Animações e transições
    • Visão geral
    • Visão geral das animações
    • Visão geral da animação de propriedade
    • Animar gráficos drawable
    • Revelar ou ocultar uma visualização com uma animação
    • Mover visualização com uma animação
    • Mover visualização usando animação com rolagem
    • Aumentar visualização com uma animação com zoom
    • Animar movimentos com física relacionada a objetos elásticos
    • Animar automaticamente atualizações de layout
    • Animar alterações de layout com uma transição
    • Criar uma animação de transição personalizada
    • Iniciar uma atividade usando uma animação
    • Deslizar entre fragmentos com o ViewPager
    • Deslizar entre fragmentos com o ViewPager2
  • Imagens e gráficos
    • Visão geral
    • Visão geral de drawables
    • Visão geral de drawables vetoriais
    • Como gerenciar bitmaps
    • Como selecionar cores com a API Palette
    • Como reduzir tamanhos de download de imagens
    • Aceleração de hardware
    • OpenGL ES
    • Como exibir gráficos com OpenGL ES
      • Visão geral
      • Como criar um ambiente OpenGL ES
      • Como definir formas
      • Como desenhar formas
      • Como aplicar projeção e visualizações de câmera
      • Como adicionar movimento
      • Como responder a eventos de toque
    • Renderização
      • Visão geral
      • Como reduzir overdraw
      • Hierarquias de desempenho e visualização
      • Como fazer análise com perfil de renderização de GPU
    • Melhoria de gráficos com amplo conteúdo de cores
  • Áudio e vídeo
    • Visão geral de áudio e vídeo
    • Formatos de mídia compatíveis
    • Codecs de mídia
    • Arquitetura de apps de mídia
      • Visão geral da arquitetura de apps de mídia
      • Como usar uma sessão de mídia
      • Como criar um app de áudio
        • Visão geral do app de áudio
        • Como criar um serviço de navegador de mídia
        • Como criar um cliente de navegador de mídia
        • Callbacks de sessão de mídia
      • Como criar um app de vídeo
        • Visão geral do app de vídeo
        • Como criar atividade de um player de vídeo
        • Callbacks de sessão de mídia
      • Como responder aos botões de mídia
      • Como gerenciar alterações na saída de áudio
      • Como gerenciar a seleção de áudio
      • O Google Assistente e os apps de mídia
    • Como fazer o roteamento entre dispositivos
      • Visão geral do roteamento
      • Visão geral do MediaRouter
      • Visão geral do MediaRouteProvider
    • Controlar amplitude com VolumeShaper
    • Visão geral do MediaPlayer
    • Visão geral do MediaRecorder
    • ExoPlayer
    • Como compartilhar entradas de áudio
    • Captura de reprodução
    • Outros recursos para mídia
  • Tarefas em segundo plano
    • Visão geral
    • Guia para o processamento em segundo plano
    • Como enviar operações para várias linhas de execução
      • Visão geral
      • Especificar o código executado em uma linha de execução
      • Criar um gerenciador para várias linhas de execução
      • Executar códigos em uma linha de execução do tipo pool thread
      • Estabelecer comunicação com a linha de execução de IU
    • Serviços
      • Visão geral
      • Criar um serviço de segundo plano
      • Enviar solicitações de trabalho para o serviço de segundo plano
      • Gerar relatórios de status de trabalho
      • Serviços vinculados
      • Visão geral da AIDL
    • Otimizações em segundo plano
    • Visão geral das transmissões
    • Exceções implícitas de transmissão
    • Gerenciar estado de ativação do dispositivo
      • Visão geral
      • Manter o dispositivo ativado
      • Programar alarmes com repetição
  • Dados e arquivos do app
    • Visão geral
    • Visão geral do armazenamento
    • Salvar arquivos no armazenamento do dispositivo
      • Visão geral
      • Salvar arquivos no armazenamento interno
      • Salvar arquivos no armazenamento externo
      • Gerenciar o acesso ao armazenamento externo com escopo
      • Salvar e acessar arquivos de mídia
    • Salvar dados de chave-valor
    • Salvar dados em um banco de dados local
      • Visão geral
      • Definir dados usando entidades
      • Definir relações entre objetos
      • Criar visualizações para um banco de dados
      • Acessar dados com DAOs
      • Migrar seu banco de dados
      • Testar seu banco de dados
      • Referenciar dados complexos
    • Como compartilhar dados simples
      • Visão geral
      • Como enviar dados simples para outros apps
      • Como receber dados simples de outros apps
    • Como compartilhar arquivos
      • Visão geral
      • Como configurar o compartilhamento de arquivos
      • Como compartilhar um arquivo
      • Como solicitar um arquivo compartilhado
      • Como recuperar informações de arquivos
    • Como compartilhar arquivos com NFC
      • Visão geral
      • Como enviar arquivos para outro dispositivo
      • Como receber arquivos de outro dispositivo
    • Como imprimir arquivos
      • Visão geral
      • Como imprimir fotos
      • Como imprimir documentos HTML
      • Como imprimir documentos personalizados
    • Provedores de conteúdo
      • Visão geral
      • Fundamentos do provedor de conteúdo
      • Como criar um provedor de conteúdo
      • Abrir arquivos com o framework de acesso ao armazenamento
      • Criar um provedor de documentos personalizado
    • Local da instalação do app
  • Dados e identidade do usuário
    • Visão geral
    • Adicionar fluxo de trabalho de login
    • Mostrar caixa de diálogo de autenticação biométrica
    • Estrutura de preenchimento automático
      • Visão geral
      • Otimizar seu app para o preenchimento automático
      • Criar serviços de preenchimento automático
    • Receber um código de publicidade que pode ser redefinido pelo usuário
    • Visão geral do provedor de agenda
    • Provedor de contatos
      • Visão geral
      • Como recuperar uma lista de contatos
      • Como recuperar detalhes de um contato
      • Como modificar contatos com intents
      • Como exibir o selo de contatos rápidos
    • Transferência de conta
    • Backup de dados
      • Visão geral
      • Backup de dados do usuário
      • Backup de pares de chave-valor
        • Visão geral
        • Cadastrar-se
      • Testar backup e restauração
    • Práticas recomendadas para identificadores exclusivos
    • Memorizar e autenticar usuários
      • Visão geral
      • Lembrar do usuário
      • Autenticar para os serviços OAuth2
      • Criar um tipo de conta personalizado
  • Localização do usuário
    • Visão geral
    • Otimizar localização para a bateria
    • Ver a última localização conhecida
    • Alterar as configurações de localização
    • Receber atualizações periódicas de localização
    • Exibir o endereço de um local
    • Criar e monitorar fronteiras geográficas virtuais
    • Detectar quando usuários iniciam uma atividade
    • Migrar para APIs de local e contexto
    • Adicionar mapas
  • Toque e entrada
    • Visão geral
    • Eventos de entrada
    • Como usar gestos de toque
      • Visão geral
      • Detectar gestos comuns
      • Rastrear movimentos de toque e ponteiro
      • Fazer uma animação para um gesto de rolagem
      • Gerenciar gestos com vários toques
      • Arrastar e dimensionar
      • Gerenciar eventos de toque em um ViewGroup
    • Como gerenciar entradas do teclado
      • Visão geral
      • Como especificar o tipo de método de entrada
      • Como gerenciar a visibilidade do método de entrada
      • Compatibilidade com navegação por teclado
      • Como gerenciar ações do teclado
    • Compatibilidade com controladores de jogos
      • Visão geral
      • Como gerenciar ações do controlador
      • Compatibilidade com controladores em diversas versões do Android
      • Compatibilidade com vários controladores de jogos
    • Editores de método de entrada
      • Como criar um método de entrada
      • Teclado de imagens
    • Corretor ortográfico
  • CameraX
    • Visão geral
    • Arquitetura do CameraX
    • Configuração
    • Visualizar
    • Analisar imagens
    • Tirar foto
    • Extensões do fornecedor
  • Câmera
    • Visão geral
    • Como tirar fotos
    • Como gravar vídeos
    • Como controlar a câmera
    • API da câmera
  • Sensores
    • Visão geral
    • Visão geral dos sensores
    • Sensores de movimento
    • Sensores de posição
    • Sensores de ambiente
    • Medições GNSS brutas
  • Conectividade
    • Visão geral
    • Como fazer operações de rede
      • Visão geral
      • Conectar-se à rede
      • Gerenciar o uso da rede
      • Otimizar o uso de dados de rede
      • Analisar dados XML
    • Transmitir dados de rede com a Volley
      • Visão geral
      • Enviar uma solicitação simples
      • Configurar RequestQueue
      • Fazer um pedido padrão
      • Implementar uma solicitação personalizada
    • Realizar operações de rede com a Cronet
      • Visão geral
      • Enviar uma solicitação simples
      • Ciclo de vida da solicitação da Cronet
      • Referência
        • org.chromium.net
          • Visão geral
          • CallbackException
          • CronetEngine
            • Visão geral
            • CronetEngine.Builder
              • Visão geral
              • LibraryLoader
          • CronetException
          • InlineExecutionProhibitedException
          • NetworkException
          • QuicException
          • UploadDataProvider
          • UploadDataProviders
          • UploadDataSink
          • UrlRequest
            • Visão geral
            • Builder
            • Callback
            • Status
            • StatusListener
          • UrlResponseInfo
            • Visão geral
            • HeaderBlock
    • Transferência de dados sem consumo de bateria
      • Visão geral
      • Otimizar downloads para um acesso de rede eficiente
      • Minimizar o efeito de atualizações regulares
      • Evitar downloads redundantes
      • Modificar padrões com base no tipo de conexão
    • Reduzir consumo de bateria por rede
      • Visão geral
      • Coleta de dados de tráfego de rede
      • Análise do tráfego de dados
      • Como otimizar o uso de rede iniciado por usuário
      • Como otimizar o uso de rede iniciado por app
      • Como otimizar o uso de rede iniciado por servidor
      • Como otimizar o uso geral de rede
    • Transferir dados com adaptadores de sincronização
      • Visão geral
      • Criar um stub de autenticação
      • Criar um stub de provedor de conteúdo
      • Criar um adaptador de sincronização
      • Executar um adaptador de sincronização
    • Bluetooth
      • Visão geral
      • Visão geral do Bluetooth de baixa energia
    • NFC
      • Visão geral
      • Fundamentos da NFC
      • NFC avançada
      • Visão geral da emulação de cartão com base em host
    • Telecomunicações
      • Visão geral
      • Criar um app de chamadas
      • Códigos de telefonia
    • Wi-Fi
      • Visão geral da busca por Wi-Fi
      • Wi-Fi ponto a ponto
      • Visão geral do Wi-Fi Aware
      • Local de Wi-Fi com RTT
      • Infraestrutura de Wi-Fi
        • Visão geral da infraestrutura de Wi-Fi
        • API Wi-Fi suggestion para conexão de Internet
        • API Wi-Fi Network Request para conectividade ponto a ponto
    • Visão geral do pareamento de dispositivo complementar
    • USB
      • Visão geral
      • Visão geral do acessório
      • Visão geral do host
    • VPN
    • Visão geral do protocolo de início de sessão
    • Descobrir e conectar
      • Visão geral
      • Usar a descoberta de serviços de rede
      • Criar conexões P2P com o Wi-Fi
      • Usar o Wi-Fi P2P para descoberta de serviços
      • Wi-Fi Easy Connect
  • RenderScript
    • Visão geral
    • RenderScript avançado
    • Referência da API Runtime
      • Visão geral
      • Tipos numéricos
      • Tipos de objeto
      • Funções de conversão
      • Constantes e funções matemáticas
      • Funções matemáticas de vetores
      • Funções de matriz
      • Funções de quaternion
      • Funções de atualização atômicas
      • Funções e tipos de tempo
      • Funções de acesso a dados de alocação
      • Funções de características de objetos
      • Funções e tipos de invocação de kernel
      • Funções de entrada/saída
      • Funções de depuração
      • Funções e tipos de gráfico
      • Índice
  • Conteúdo na Web
    • Visão geral
    • Como criar apps da Web no WebView
    • Como gerenciar objetos do WebView
    • Migração do WebView para o Android 4.4
    • Compatibilidade com diferentes telas em apps da Web
    • Como depurar apps da Web
    • Práticas recomendadas para apps da Web
  • Android App Bundles
    • Visão geral
    • Download de módulos com a biblioteca Play Core
    • Compatibilidade com atualizações no app
    • Verificar instalações que não são do Google Play
  • Google Play Instant
    • Visão geral do Google Play Instant
    • Primeiros passos com apps instantâneos
      • Criar um pacote de apps instantâneo
      • Práticas recomendadas de UX para apps
    • Primeiros passos com jogos instantâneos
      • Visão geral
      • Plug-in do Unity
      • Práticas recomendadas de UX para jogos
      • Migrar para o Android App Bundles
    • Reduzir o tamanho do seu jogo ou app instantâneo
    • Adicionar anúncios ao seu jogo ou app instantâneo
    • Disponibilizar vários pontos de entrada
    • Integrar com o Firebase
      • Adicionar o Google Analytics para Firebase ao seu app instantâneo
      • Usar o Firebase Dynamic Links com apps instantâneos
    • Lista de verificação dos requisitos técnicos
    • Política do Google Play Instant
    • Recursos
      • Referência
      • Exemplos de código
      • Notas da versão do SDK
    • Suporte
      • Perguntas frequentes
      • Problemas conhecidos
      • StackOverflow
  • Ações no app
  • Slices
    • Visão geral
    • Primeiros passos
    • Modelos Slice
  • Jogos
  • Desenvolvimento de jogos para Android
  • Desenvolver
    • Criar seu jogo no Unity
    • Criar seu jogo no Unreal
    • Criar uma experiência de login perfeita
    • Determinar a necessidade de acesso a dados confidenciais
    • Incluir compatibilidade para acesso instantâneo
    • Proteger seu jogo
    • Desenvolver jogos para todas as telas
  • Otimizar
    • Ferramentas para otimizar seu jogo
    • Compatível com arquiteturas de 64 bits
    • Melhorar o desempenho do seu jogo
    • Gerenciar a memória em jogos de forma eficiente
    • Detectar e diagnosticar falhas
    • Conseguir um ritmo adequado de frames
    • Identificar pontos críticos da CPU
    • Inspecionar interações com drivers gráficos
    • Como depurar o uso de memória nativa
  • Iniciar e iterar
    • Lançar seu jogo no Google Play
    • Criar um Android App Bundle no Unity
    • Manter a conexão com sua base de usuários
  • Práticas recomendadas
  • Testes
    • Visão geral
    • Conceitos básicos de testes
    • Configurar projeto
    • Como criar testes de unidade eficazes
      • Visão geral
      • Como criar testes de unidade locais
      • Como criar testes de unidade com instrumentação
    • Como automatizar testes de IU
      • Visão geral
      • Como testar a IU para um único app
      • Como testar a IU para vários apps
    • Como testar as integrações de componentes do app
      • Visão geral
      • Como testar seu serviço
      • Como testar o provedor de conteúdo
    • Como testar o desempenho da IU
    • Espresso
      • Visão geral
      • Instruções de configuração
      • Noções básicas
      • Receitas
      • Multiprocesso
      • Verificação de acessibilidade
      • Listas
      • Intents
      • Web
      • Recurso inativo
      • Folha de referência
      • Outros recursos
    • IU Automator
    • Rastreador de apps
    • Regras do JUnit4
    • AndroidJUnitRunner
    • Notas da versão
    • Outros recursos
  • Desempenho
    • Visão geral
    • Android vitals
      • Visão geral
      • Wake locks parciais travados
      • Ativações excessivas
      • Verificações excessivas de Wi-Fi em segundo plano
      • Uso excessivo da rede em segundo plano
      • ANRs
      • Falhas
      • Renderização lenta
      • Frames congelados
      • Permissões negadas
      • Tempo de inicialização do app
    • Intervalos de "App em espera"
    • Visão geral de processos e linhas de execução
    • Melhoria no desempenho por meio de linhas de execução
    • Como otimizar a duração da bateria
      • Visão geral
      • Como otimizar para "Soneca" e "App em espera"
      • Como monitorar o nível de bateria e o estado de carregamento
      • Como determinar e monitorar o estado e o tipo da ancoragem
      • Como determinar e monitorar o status da conectividade
      • Restrições de gerenciamento de energia
      • Como analisar o uso de energia com o Battery Historian
      • Como testar problemas relacionados à energia
    • Reduzir o tamanho do app
    • Gerenciar memória
      • Visão geral do gerenciamento de memória
      • Alocação de memória nos processos
      • Gerenciar a memória do seu app
    • Como criar um projeto impecável
    • Como manter seu app responsivo
    • Dicas de desempenho
    • SMP Primer para Android
    • Como verificar o comportamento do app no Android Runtime (ART)
  • Acessibilidade
    • Visão geral
    • Criar e testar apps para acessibilidade
      • Tornar os apps mais acessíveis
      • Testar a acessibilidade do seu app
      • Tornar visualizações personalizadas mais acessíveis
    • Criar seu próprio serviço de acessibilidade
    • Outros recursos
  • Segurança
    • Práticas recomendadas para segurança de apps
    • Dicas de segurança
    • Segurança com dados
    • Segurança com HTTPS e SSL
    • Configurações de segurança de rede
    • Como atualizar seu provedor de segurança para se proteger contra explorações de SSL
    • Como se proteger contra ameaças de segurança com SafetyNet
      • Visão geral
      • API SafetyNet Attestation
      • API SafetyNet Safe Browsing
      • API SafetyNet reCAPTCHA
      • API SafetyNet Verify Apps
    • Criptografia
    • Sistema de armazenamento de chaves do Android
    • Como verificar pares de chaves protegidos por hardware com confirmação de chaves
    • Confirmação protegida pelo Android
    • Compatibilidade com inicialização direta
    • Como usar o acesso a diretórios com escopo
    • Código DEX incorporado em execução
    • Programa de aprimoramento de segurança de apps
  • Criar para bilhões
    • Visão geral
    • Conectividade
    • Capacidade do dispositivo
    • Custo de dados
    • Consumo de bateria
    • IU e conteúdo
  • Desenvolvimento para empresas
    • Visão geral
    • Guia do desenvolvedor
    • Perfis de trabalho
    • Definir configurações gerenciadas
    • Feedback do app
      • Enviar feedback do app para EMMs
      • Feedback do app de teste
    • Contatos de trabalho
    • Políticas de gerenciamento de dispositivos
    • Gerenciamento de dispositivos
      • Visão geral
      • Criar um controlador de política de dispositivo
      • Perfis de trabalho em dispositivos totalmente gerenciados
      • Dispositivos dedicados
        • Visão geral
        • Bloquear modo tarefa
        • Vários usuários
        • Manual
      • Controle de dispositivo
      • Rede e telefonia
      • Segurança
      • Atualizações do sistema
      • Registro de atividades de rede
    • Versões do Android
      • Visão geral
      • Android 9
      • Android 8.0
      • Android 7.0
    • Administração do dispositivo
  • Google Play
    • Google Play Faturamento
      • Visão geral
      • Usar a biblioteca do Google Play Faturamento
      • Adicionar recursos específicos de produto de aquisição única
      • Adicionar recursos específicos de produtos concedidos como prêmio
      • Adicionar recursos específicos de assinatura
      • Implementar uma promoção
      • Referência da biblioteca do Play Faturamento
      • Notas da versão da biblioteca do Play Faturamento
      • Adicionar notificações do desenvolvedor em tempo real
      • Práticas recomendadas
      • Testar o Google Play Faturamento
      • Usar o Google Play Faturamento com AIDL
        • Visão geral
        • Referência do Google Play Faturamento
        • Promoções no app
    • Como tornar o conteúdo do seu app pesquisável pelo Google
    • Como otimizar o conteúdo contextual para o Assistente
    • API Google Play Developer
    • Arquivos de expansão do APK
    • Licenciamento do app
      • Visão geral
      • Visão geral do licenciamento
      • Como configurar para licenciamento
      • Adicionar verificação do servidor
      • Adicionar verificação do cliente
      • Referência do licenciamento
    • Referência de instalação do Google Play
      • Visão geral
      • Biblioteca Play Install Referrer
        • Visão geral
        • Referência
        • Notas da versão
      • API Play Install Referrer
  • Desenvolvedores Android
  • Documentos
  • Guias

Câmera

O Android oferece acesso total ao hardware da câmera do dispositivo para que seja possível criar diversos apps de câmera ou visão. Ou, caso você só precise de uma forma para o usuário capturar uma foto, basta solicitar que um app de câmera capture uma foto e devolva para você.

Documentação

  • Tirar fotos
  • Gravar vídeos
  • Controlar a câmera
  • API da câmera

Vídeos

Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.

  • Twitter Twitter
    Siga @AndroidDev no Twitter
  • YouTube YouTube
    Confira o Android Developers no YouTube
  • Mais sobre o Android

    • Android
    • Enterprise
    • Segurança
    • Source
  • Suporte

    • Reportar bug na plataforma
    • Reportar bug na documentação
    • Google Play support
    • Participar de estudos de pesquisa
  • Documentação

    • Guias do desenvolvedor
    • Guias de design
    • Referência da API
    • Amostras
    • Android Studio
Google Developers
  • Android
  • Chrome
  • Firebase
  • Google Cloud Platform
  • Todos os produtos
  • Privacidade
  • Licença
  • Diretrizes da marca
  • Receber notícias e dicas por e-mail Inscrever-se