Tema escuro, API térmica e Bubbles: preparando seu aplicativo para o Android 10

Autor: Louise Ward
Data De Criação: 6 Fevereiro 2021
Data De Atualização: 2 Julho 2024
Anonim
Tema escuro, API térmica e Bubbles: preparando seu aplicativo para o Android 10 - Aplicativos
Tema escuro, API térmica e Bubbles: preparando seu aplicativo para o Android 10 - Aplicativos

Contente


A versão mais recente, melhor e ainda sem nome, do Android apresenta recursos e APIs que você pode usar para criar novas experiências para seus usuários - além de algumas mudanças comportamentais que você precisa observar.

Mesmo se você não estiver atualizando seu aplicativo para segmentar o Android Q ainda, algumas dessas alterações terão impacto cada aplicativo instalado no Android Q, mesmo se seu aplicativo não segmentar explicitamente esta versão do Android.

Algumas dessas alterações afetarão todos os aplicativos instalados no Android Q.

Independentemente de você estar ansioso para experimentar os recursos mais recentes ou apenas garantir que seu aplicativo não seja interrompido no momento em que for instalado no Android Q, agora é o momento perfeito para começar a se preparar para a iminente versão do Android Q.

Leia também:Android Q: tudo o que os desenvolvedores precisam saber


Neste artigo, abordarei todas as etapas necessárias para preparar seu aplicativo para o Android Q - de recursos totalmente novos a pequenos ajustes de segurança que podem interromper todo o aplicativo.

Evite a otimização da CPU e da GPU: monitorando a temperatura do dispositivo

O superaquecimento pode danificar seriamente o seu smartphone ou tablet. Como medida de proteção, o Android reduzirá a CPU e a GPU do seu dispositivo quando detectar que as temperaturas estão se aproximando de níveis perigosos.

Embora esse comportamento ajude a proteger o hardware do dispositivo, também pode ter um impacto perceptível no desempenho do aplicativo, principalmente se o aplicativo usar gráficos de alta resolução, cálculos pesados ​​ou executar atividades de rede em andamento.

Embora essa desaceleração seja imposta pelo sistema, o usuário típico de smartphone ou tablet culpará o seu aplicativo por qualquer queda no desempenho. Na pior das hipóteses, o usuário pode decidir que seu aplicativo está com defeito ou com defeito, desinstalando o aplicativo e até deixando uma avaliação negativa do Google Play no processo.


Na pior das hipóteses, o usuário pode decidir que seu aplicativo está com defeito ou com defeito.

O Android Q apresenta uma nova API térmica que pode ajudá-lo a evitar essa otimização de CPU e GPU. Você pode usar o método addThermalStatusListener () desta API para criar um ouvinte para alterações de status térmico e ajustar o comportamento do seu aplicativo sempre que a temperatura do dispositivo começar a subir. Isso pode ajudar a reduzir as chances do sistema recorrer à otimização da CPU ou GPU. Por exemplo, você pode reduzir a tensão que seu aplicativo está exercendo no sistema de superaquecimento, diminuindo sua resolução ou taxa de quadros ou desativando recursos que exigem muitos recursos, como conectividade de rede.

Observe que a API térmica do Android Q requer uma nova camada HAL do dispositivo, que no momento da escrita estava disponível apenas em dispositivos Pixel.

Reduza a fadiga ocular e aumente a visibilidade com o tema Escuro

No Android Q, os usuários podem ativar um tema Escuro em todo o sistema, projetado para reduzir a fadiga ocular, melhorar a visibilidade em condições de pouca luz e reduzir o uso de energia em dispositivos com telas OLED.

O tema Escuro é uma interface do usuário com pouca luz que usa superfícies escuras para o fundo e cores claras de primeiro plano para elementos como texto e iconografia.

Os usuários podem ativar esse tema Escuro em todo o sistema a qualquer momento, usando um novo bloco Configurações rápidas ou iniciando o aplicativo Configurações do dispositivo e navegando para Exibir> Tema. Nos dispositivos Pixel, a mudança para o modo Economizador de bateria também ativará o tema Escuro automaticamente.

O Tema escuro é aplicado em todo o dispositivo. Portanto, para fornecer uma experiência consistente ao usuário, você precisa garantir que seu aplicativo seja totalmente compatível com o tema escuro.

Para adicionar suporte ao Tema Escuro, verifique se você está usando a versão mais recente da biblioteca Material Android e atualize seu aplicativo para herdar do Theme.MaterialComponents.DayNight, por exemplo:

Você precisará criar um arquivo res / values-night / themes.xml e herdar do Theme.MaterialComponents:

Para proporcionar uma boa experiência ao usuário, talvez seja necessário modificar o comportamento do seu aplicativo quando o tema Escuro estiver ativado, por exemplo, substituindo ou removendo gráficos que emitem uma quantidade significativa de luz.

Você pode verificar se o tema Escuro está ativado, usando o seguinte trecho:

int currentNightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) {// Tema escuro não está ativo no momento // caso Configuration.UI_MODE_NIGHT_NO: break; // Tema escuro está ativo // case Configuration.UI_MODE_NIGHT_YES: break; }

Seu aplicativo pode modificar seu comportamento, dependendo de qual tema estiver ativo no momento.

API do painel de configurações: exibindo as configurações do dispositivo em seu aplicativo

Se seu aplicativo segmentar o Android Q, você não poderá mais alterar diretamente as configurações de Wi-Fi do dispositivo. Em vez disso, você precisará solicitar ao usuário que faça as alterações desejadas usando a API do painel de configurações.

Você pode usar esta nova API para exibir o conteúdo do aplicativo Configurações do dispositivo, como um painel embutido que desliza sobre o conteúdo do seu aplicativo. Da perspectiva do usuário, esses controles no aplicativo permitem alterar rápida e facilmente as configurações do dispositivo sem a necessidade de iniciar um aplicativo separado. Para um desenvolvedor de aplicativos, a API do painel de configurações permite alterar o status do Wi-Fi e outras configurações cruciais do dispositivo, sem incentivar o usuário a sair do aplicativo.

No Android Q, o Google faz das notificações no estilo de bate-papo uma parte oficial da plataforma Android com a introdução da API da bolha.

Projetadas como uma alternativa ao SYSTEM_ALERT_WINDOW, as notificações de bolha parecem "flutuar" acima de outro conteúdo do aplicativo, em um estilo que lembra as notificações flutuantes usadas pelo Facebook Messenger para Android.

As notificações de bolha podem ser expandidas para revelar informações adicionais ou ações personalizadas que permitem aos usuários interagir com seu aplicativo, fora do contexto do aplicativo.

Quando seu aplicativo tenta criar seu primeiro balão, o Android pergunta ao usuário se ele deseja permitir todos os balões do seu aplicativo ou bloquear todos os balões. Se o usuário optar por bloquear todos os balões do seu aplicativo, eles serão exibidos como notificações padrão. Seus balões também serão exibidos como notificações padrão sempre que o dispositivo estiver bloqueado ou o monitor sempre estiver ativo. Para proporcionar uma boa experiência ao usuário, você precisa garantir que todos os seus balões sejam exibidos e funcionem corretamente como notificações regulares.

Para criar um balão, você precisará de uma Atividade que defina o comportamento do balão expandido e um layout que defina sua interface com o usuário. Para obter um guia passo a passo sobre como criar sua primeira notificação de bolha, consulte Explorando o Android Q: adicionando notificações de bolha ao seu aplicativo.

Aumentando a acessibilidade com a navegação gestual em todo o sistema

Usuários com problemas de destreza podem achar mais fácil interagir com o dispositivo usando gestos. No Android Q, os usuários têm a opção de ativar a navegação gestual em todo o dispositivo, o que afetará cada aplicativo instalado nesse dispositivo.

Mesmo se você não atualizar seu aplicativo para segmentar o Android Q, seu aplicativo vai seja afetado pelas configurações de navegação do dispositivo, portanto, você precisa garantir que seu aplicativo seja compatível com a navegação gestual do Android Q.

No modo de navegação gestual, seu aplicativo deve usar a tela inteira. Portanto, a primeira etapa é informar ao sistema Android que seu aplicativo oferece suporte à exibição de borda a borda. Para fazer o layout do aplicativo em tela cheia, você pode usar os sinalizadores SYSTEM_UI_FLAG_LAYOUT_STABLE e SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, por exemplo:

view.setSystemUiVisibility (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

Você também precisará implementar o suporte para uma barra de sistema transparente, adicionando o seguinte ao seu tema:

Quando chegar a hora de testar seu aplicativo, você precisará verificar se os gestos do sistema do Android Q não acionam nenhum dos controles do aplicativo, como botões ou menus. Em particular, o Android Q usa um deslize para dentro para a ação Voltar e um deslize para cima para Home e Quick Switch, que podem interferir com qualquer elemento da interface do usuário localizado nessas áreas.

Se, durante o teste, você descobrir que deslizar da parte inferior da tela ou deslizar para dentro está acionando os controles do seu aplicativo, você pode indicar quais regiões estão configuradas para receber entrada por toque. Para bloquear determinadas áreas, passe uma Lista à API View.setSystemGestureExclusionRects () do Android Q, por exemplo:

Lista exclusionRects; public void onLayout (boleano alteradoCanvas, int esquerda, int superior, int direita, int inferior) {setSystemGestureExclusionRects (exclusionRects); } public void onDraw (tela de canvas) {setSystemGestureExclusionRects (exclusionRects); }

Se seu aplicativo usa gestos personalizados, verifique também se eles não entram em conflito com os gestos de navegação do sistema.

Captura de áudio de aplicativos de terceiros

O Android Q introduz uma API AudioPlaybackCapture que permite que seu aplicativo capture áudio de outros aplicativos - perfeito se você estiver criando um aplicativo de gravação de tela!

Para capturar a reprodução de áudio, você precisa solicitar a permissão RECORD_AUDIO e, em seguida:

  • Crie uma instância de AudioPlaybackCaptureConfiguration, usando AudioPlaybackCaptureConfiguration.Builder.build ().
  • Configure e crie a instância AudioRecord, chamando setAudioPlaybackCaptureConfig e, em seguida, passe a configuração para o objeto AudioRecord.

Por exemplo:

MediaProjection mediaProjection; AudioPlaybackCaptureConfiguration config = new AudioPlaybackCaptureConfiguration.Builder (mediaProjection) .addMatchingUsage (AudioAttributes.USAGE_MEDIA) .build (); AudioRecord record = new AudioRecord.Builder () .setAudioPlaybackCaptureConfig (config) .build ();

Essa nova API significa que, por padrão, aplicativos de terceiros poderão gravar todos do áudio do seu aplicativo. Para alguns aplicativos, isso pode ser uma preocupação de privacidade ou pode até colocar seu aplicativo em risco de violação de direitos autorais. Se necessário, você pode impedir que terceiros capturem o áudio do aplicativo, adicionando android: allowAudioPlaybackCapture = "false" ao seu manifesto.

Mesmo com esse sinalizador, os aplicativos do sistema ainda poderão capturar a reprodução de áudio do aplicativo, pois recursos de acessibilidade, como legendas, dependem da captura de áudio.

Para fornecer uma experiência acessível, é recomendável sempre permitir que os componentes do sistema capturem o áudio do aplicativo, mas você pode bloquear os aplicativos do sistema usando a constante ALLOW_CAPTURE_BY_NONE, se necessário.

Autenticação biométrica aprimorada

O Android Q está fazendo vários ajustes na autenticação BiometricPrompt do Android.

1. Verifique a capacidade biométrica

Antes de chamar BiometricPrompt, agora você pode verificar se o dispositivo suporta autenticação biométrica, usando o novo método canAuthenticate ().

2. Diálogos de autenticação biométrica simplificados

O Android Q faz uma alteração sutil nas caixas de diálogo de autenticação da BiometricPrompt.

O Android permite que os usuários autentiquem sua identificação usando várias modalidades biométricas implícitas do tipo "viva-voz", como autenticação de face ou íris. No entanto, mesmo que o usuário verifique com êxito sua identificação usando uma modalidade implícita, ele ainda é necessário tocar no botão Confirmar da caixa de diálogo para concluir o processo de autenticação.

Para muitas modalidades biométricas implícitas, esta ação Confirmar é desnecessária; portanto, no Android Q, você pode solicitar que o sistema remova o botão Confirmar da sua caixa de diálogo de autenticação biométrica.

Essa pequena alteração pode ter um impacto positivo na experiência do usuário, pois verificar sua identidade olhando para o dispositivo é mais fácil do que olhar para o dispositivo, aguardar que ele reconheça seu rosto e tocar no botão Confirmar.

No Android Q, você pode solicitar que o sistema remova o botão Confirmar passando false para o método setConfirmationRequired (). Observe que o sistema pode optar por ignorar sua solicitação em determinados cenários, por exemplo, se o usuário tiver desativado a autenticação implícita nas configurações de seus dispositivos.

3. Métodos de autenticação alternativos

Às vezes, um usuário pode não conseguir se autenticar usando a entrada biométrica. Nesses cenários, você pode permitir que eles autentiquem sua identificação usando o PIN, padrão ou senha do dispositivo usando o novo método setDeviceCredentialAllowed ().

Depois que esse fallback estiver ativado, o usuário será solicitado inicialmente a autenticar usando biometria, mas terá a opção de autenticar usando um PIN, padrão ou senha.

Execute o código DEX incorporado diretamente do seu APK

No Android Q, é possível executar o código DEX incorporado diretamente do seu arquivo APK, o que pode ajudar a impedir que os invasores violem o código compilado localmente do seu aplicativo.

Você pode ativar esse novo recurso de segurança adicionando o seguinte ao elemento do seu manifesto:

android: useEmbeddedDex = "true"

Você pode criar um APK que contenha código DEX descompactado, adicionando o seguinte ao seu arquivo de compilação Gradle:

aaptOptions {noCompress dex}

Novas permissões para reconhecimento de atividade

O Android Q introduz uma nova permissão de tempo de execução com.google.android.gms.permission.ACTIVITY_RECOGNITION para aplicativos que precisam registrar a contagem de etapas do usuário ou categorizar sua atividade física, como corrida ou ciclismo.

A API de reconhecimento de atividades do Android não fornecerá mais resultados, a menos que seu aplicativo tenha essa nova permissão ACTIVITY_RECOGNITION. Observe que, se seu aplicativo usa dados de sensores internos, como o giroscópio ou o acelerômetro, não é necessário solicitar a permissão ACTIVITY_RECOGNITION.

Restrições ao início da atividade

Para ajudar a minimizar interrupções, o Android Q impõe novas restrições sobre quando o aplicativo pode iniciar uma Atividade. Você encontrará uma lista completa de todas as condições que permitem o início da atividade nos documentos oficiais do Android.

Sobreposições de alerta do sistema removidas do Android Go

Se o seu aplicativo terminar em um dispositivo com Android Q e Android Go, não será possível acessar a permissão SYSTEM_ALERT_WINDOW. Essa alteração foi implementada para evitar quedas perceptíveis de desempenho que podem ocorrer quando os dispositivos Android Go tentam desenhar a janela de sobreposição SYSTEM_ALERT_WINDOW.

Diga adeus ao Android Beam

O Android Q marca o fim do Android Beam, pois esse recurso de compartilhamento de dados agora está oficialmente obsoleto.

Mantendo seus usuários seguros: Principais alterações de privacidade

O Android Q introduz várias alterações de privacidade que oferecem aos usuários maior controle sobre seus dados e os recursos confidenciais de seus dispositivos.

Infelizmente, essas alterações podem afetar o comportamento do seu aplicativo e até quebrá-lo completamente. Ao testar seu aplicativo com o Android Q, você deve prestar especial atenção às seguintes alterações de privacidade:

1. Armazenamento com escopo: o novo modelo de armazenamento externo do Android

O Android Q impõe novas restrições sobre como os aplicativos acessam o armazenamento externo.

Por padrão, se seu aplicativo segmentar o Android Q, ele terá uma "visualização filtrada" no armazenamento externo do dispositivo (anteriormente chamado de "visualização em área restrita"), que fornece acesso apenas a um diretório específico do aplicativo.

Com o armazenamento com escopo definido, seu aplicativo pode acessar esse diretório específico do aplicativo e todo o seu conteúdo, sem ter que declarar quaisquer permissões de armazenamento.No entanto, seu aplicativo só pode acessar arquivos criados por outros aplicativos se receber a permissão READ_EXTERNAL_STORAGE e os arquivos estiverem localizados em Fotos (MediaStore.Images), Vídeos (MediaStore.Video) ou Música (MediaStore.Audio). Se o seu aplicativo exigir acesso a um arquivo que não atenda a esse critério, você precisará usar a Estrutura de Acesso ao Armazenamento.

No momento da redação deste artigo, era possível desativar o armazenamento com escopo adicionando android: requestLegacyExternalStorage = "true" ao manifesto do seu projeto, mas, de acordo com os documentos oficiais do Android, o armazenamento com escopo será eventualmente exigido por todos os aplicativos. Portanto, é recomendável que você atualiza seu aplicativo o mais rápido possível.

2. Decida quando um aplicativo pode acessar sua localização

O Android Q oferece aos usuários mais controle sobre quando um aplicativo pode acessar sua localização.

Quando seu aplicativo exigir informações de localização, o Android Q exibirá uma caixa de diálogo perguntando se o usuário deseja compartilhar essas informações:

  • Quando seu aplicativo está sendo executado em primeiro plano .
  • O tempo todo (ou seja, quando seu aplicativo está em primeiro plano) e o fundo).

Se o usuário conceder acesso permanente ao seu aplicativo, o Android Q criará notificações regulares para lembrar ao usuário que seu aplicativo pode acessar a localização a qualquer momento.

Para implementar essas alterações, o Android Q introduz uma nova permissão ACCESS_BACKGROUND_LOCATION.

Se o seu aplicativo exigir acesso às informações de localização enquanto estiver em segundo plano, você precisará solicitar esta nova permissão, juntamente com as permissões ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION existentes. Por exemplo:

3. Novas restrições para identificadores de sistema não redefiníveis

Se você precisar acessar identificadores de sistema não redefiníveis, como IMEI e número de série, precisará solicitar a permissão READ_PRIVILEGED_PHONE_STATE.

Sempre que possível, é recomendável usar métodos alternativos de rastreamento do usuário. Por exemplo, se você quiser registrar as análises do usuário, poderá criar um ID de publicidade do Android em vez de solicitar acesso a identificadores de dispositivo não redefiníveis.

Verifique se você está pronto para o Android Q: testando seu aplicativo

A melhor maneira de garantir que seu aplicativo forneça uma boa experiência do usuário no Android Q, é testá-lo em um dispositivo que esteja executando o Android Q.

Enquanto aguardamos o lançamento oficial, há três maneiras de testar seu aplicativo em relação às visualizações do desenvolvedor do Android Q: inscreva seu dispositivo no programa Android Beta, atualize manualmente uma imagem do sistema Android Q no dispositivo ou use um Android Virtual Dispositivo (AVD).

1. Instale o Android Q beta em um dispositivo físico

Se você possui um dispositivo compatível (a lista completa pode ser encontrada aqui), é possível obter atualizações remotas do Android Q registrando-se no programa Android Beta. No momento da redação deste artigo, todos os telefones do Google Pixel são suportados pelo programa Android Beta. Isso inclui o Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a e Pixel 3a XL.

Se você não possui um Pixel, o Android Q beta também está disponível em alguns dispositivos de vários fabricantes, incluindo Asus, Huawei, LG, Xiaomi e muito mais. Para a lista completa de dispositivos suportados, confira a lista aqui.

Depois de se inscrever, o Google estima que você receberá entre três e seis atualizações ao longo do programa.

Antes de se inscrever no programa Beta, há várias desvantagens que você precisa conhecer. As versões de pré-lançamento do Android podem conter bugs e erros que podem impedir o funcionamento normal do dispositivo e não há suporte oficial disponível se você encontrar dificuldades. Os usuários que executam versões de pré-lançamento do Android também não recebem atualizações mensais de segurança separadas, o que pode deixar seu dispositivo vulnerável a ataques e explorações.

Por fim, embora você possa optar por sair do programa e reverter para uma versão estável do Android a qualquer momento, todos os dados salvos localmente no seu dispositivo serão apagados quando você reverter para a versão estável. Observe que, se você permanecer inscrito até o final do programa beta, se formará e receberá a versão pública final do Android Q sem perdendo seus dados.

Se você deseja começar a receber atualizações remotas do Android Q, acesse o site Android Beta para obter mais informações.

2. Flash manualmente uma imagem do sistema Android Q

Se você não gosta da idéia de receber atualizações do Android Q pelo ar, pode fazer o download e atualizar manualmente uma imagem do sistema Android Q para o seu dispositivo Pixel.

O Google publicou as imagens do sistema para todos os dispositivos Pixel compatíveis, além de instruções sobre como exibir uma imagem do sistema. Essa abordagem manual pode ser útil se você precisar testar uma versão específica do Android Q ou se deseja iniciar o teste imediatamente, em vez de se inscrever no programa Beta e, potencialmente, aguardar até 24 horas para receber sua primeira atualização.

3. Use o emulador do Android

Se você não deseja os riscos associados à instalação do software beta em um smartphone ou tablet físico, ou se você não possui um dispositivo compatível, pode usar um AVD.

Para baixar a imagem de visualização mais recente do Android Q, siga estas etapas:

  • Inicie o Android Studio.
  • Selecione Ferramentas> Gerenciador de SDK na barra de ferramentas do Android Studio.
  • Verifique se a guia Plataformas SDK está selecionada.
  • Selecione Mostrar detalhes do pacote.
  • Selecione Imagem do sistema Atom x86 Atom do Google Play.

  • Clique OK.
  • Crie um AVD usando esta imagem do sistema.

Como testo meu aplicativo no Android Q?

Depois de ter um dispositivo físico ou AVD executando o Android Q, você deve aplicar seu aplicativo nos mesmos processos e procedimentos de teste usados ​​na preparação qualquer lançamento. Durante o teste, você também deve prestar atenção especial às alterações de privacidade do Android Q, pois elas podem quebrar seu aplicativo.

Depois de verificar se seu aplicativo está fornecendo uma boa experiência do usuário no Android Q, publique seu aplicativo compatível com Android Q no Google Play o mais rápido possível. Ao liberar seu aplicativo cedo, você pode obter feedback antes que a maioria da sua base de usuários seja transferida para o Android Q.

Como alternativa, você pode usar as faixas de teste do Google Play para enviar seu APK a um grupo selecionado de testadores e executar uma implementação em etapas para a produção quando estiver satisfeito com os comentários deles.

Esperamos que este artigo tenha ajudado você a preparar seu aplicativo para o Android Q! Com qual recurso do Android Q você está mais animado?

O Chrome O do Google teve uma pequena preença durante o how de tecnologia CE 2019 em La Vega. O modelo eram ecao em comparação ao dipoitivo Window 10, embora a Au não foe tími...

Acer, Au, Lenovo, Dell e mai exibiram muito laptop novo e atualizado na IFA 2019. De Chromebook ultra aceívei a laptop de jogo de ponta, aqui etão o melhore novo laptop que encontramo na IFA...

Fascinantemente