Perguntas frequentes

O Android 10 oferece suporte a VSYNC por tela?

Ainda não. A VSYNC da tela padrão no Android 10 controla todas as telas.

As telas podem ser LIGADAS ou DESLIGADAS individualmente?

No Android 10, a implementação do estado de energia do dispositivo é principalmente global e determinada pelo estado de energia da tela padrão. Somente telas virtuais podem ser ativadas/desativadas individualmente, definindo a superfície como null. A atividade/WindowManager responde a essa mudança de estado.

Como configurar dinamicamente a associação de entrada e exibição?

Não há uma maneira integrada de configurar dinamicamente a associação entre uma entrada e um dispositivo no Android 10, mas algumas soluções alternativas podem ser aplicadas na maioria dos casos. Consulte Roteamento de entrada para mais detalhes.

Como faço para ativar as decorações do sistema em uma tela?

Para testes, o método mais simples é usar a opção para desenvolvedores Forçar modo de área de trabalho, que ativa a decoração do sistema e o suporte ao IME em todas as telas secundárias. Isso funciona para telas do sistema, como painéis físicos ou uma tela simulada, mas pode ser restrito para telas virtuais de propriedade de apps.

Para produção, forneça o arquivo de configuração padrão. Para obter informações, consulte:

Como faço para configurar atividades para telas específicas?

Use LaunchParamsController, que intercepta todos os lançamentos de atividades e permite que um componente do sistema modifique os parâmetros usados para o lançamento. No momento, ele está disponível no system_server.

É possível desbloquear um dispositivo de uma tela secundária?

A implementação padrão da tela de bloqueio no Android 10 não é interativa e não permite o desbloqueio. Um OEM pode implementar a própria tela de bloqueio, desde que o requisito de segurança fundamental seja mantido.

  • O estado de bloqueio do dispositivo é global.
  • Ela se aplica a todas as telas.

Como posso mostrar um IME em uma tela diferente da de destino?

Um IME só pode aparecer em uma tela configurada em DisplayWindowSettings. Se a configuração não estiver ativada para uma tela em que a entrada é solicitada, o IME vai aparecer na tela padrão.

Como faço para enviar sempre eventos de tecla para uma tela específica?

Um teclado é considerado uma origem de entrada não segmentada. Portanto, a entrada vai para a janela em foco mais alta do sistema. Para conferir um exemplo de entrada de tecla direcionada, consulte a implementação do botão "Voltar/Início" na classe PhoneWindowManager. Essas chaves são destinadas apenas à tela, enquanto são exibidas no Android 10.

Como o áudio é tratado?

O Android 10 não contém melhorias importantes nessa área. O suporte a áudio de várias zonas foi adicionado ao Android Auto no Android 10, mas uma solução genérica para processar streams de áudio segmentados separados ainda está pendente.

O mesmo app pode ser mostrado em várias telas?

Se o app oferecer suporte, várias instâncias das atividades dele poderão ser criadas. Por padrão, cada um é executado no mesmo processo. Um exemplo desse app é o Chrome. É conveniente testar isso usando um exemplo de iniciador, que permite iniciar uma atividade segmentada e solicitar uma nova instância.

É possível criar várias instâncias do mesmo app para telas/usuários diferentes?

O AOSP não permite que você crie várias sandboxes e processos separados do mesmo app para o mesmo usuário. Os casos de uso associados a essa solicitação exigem suporte multiusuário simultâneo em vez de separação no nível do app.

Se diferentes usuários quiserem usar o mesmo app, eles precisarão fazer login com os próprios perfis. A separação no nível do app exige que você faça login no app para cada sessão. Caso contrário, os dados de outros usuários ainda podem estar presentes.

O Android 10 oferece suporte a vários usuários?

Não. O Android 10 oferece suporte a um único usuário conectado.