perguntas frequentes

O Android 10 é compatível com VSYNC por tela?

Ainda não. O VSYNC da tela padrão no Android 10 conduz todas as telas.

Os displays podem ser ligados ou desligados 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 displays virtuais podem ser ativados/desativados individualmente, definindo a superfície como null ). Activity/WindowManager responde a esta mudança de estado.

Como configuro dinamicamente a associação de entrada-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 obter detalhes.

Como habilito as decorações do sistema em uma tela?

Para teste, o método mais direto é usar a opção de desenvolvedor Force Desktop Mode, que habilita as decorações do sistema e o suporte a IME em todos os monitores secundários. Isso funciona para monitores pertencentes ao sistema, como painéis físicos ou um monitor simulado, mas pode ser restrito para monitores virtuais pertencentes a aplicativos.

Para produção, forneça o arquivo de configuração padrão. Para detalhes, consulte:

Como configuro atividades para exibições específicas?

Use LaunchParamsController , que intercepta todos os lançamentos de atividade e permite que um componente do sistema modifique os parâmetros usados ​​para lançamento. Está atualmente disponível em system_server .

Um dispositivo pode ser desbloqueado a partir 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 sua própria tela de bloqueio, desde que o requisito fundamental de segurança seja mantido.

  • O estado de bloqueio do dispositivo é global.
  • Aplica-se a todos os monitores.

Como faço para exibir um IME em uma exibição diferente de seu destino?

Um IME só pode aparecer em um monitor configurado em DisplayWindowSettings . Se a configuração não estiver habilitada para uma exibição em que a entrada é solicitada, o IME aparecerá na exibição padrão.

Como sempre envio eventos importantes para uma tela específica?

Um teclado é considerado uma fonte de entrada não direcionada, portanto, a entrada vai para a janela focada no topo do sistema. Para obter um exemplo de entrada de chave direcionada, consulte a implementação do botão Voltar/Início na classe PhoneWindowManager. Essas teclas visam apenas a exibição enquanto são exibidas no Android 10.

Como o áudio é tratado?

O Android 10 não contém grandes melhorias nessa área. O suporte de áudio multizona para Auto foi adicionado no Android 10, mas uma solução genérica para lidar com fluxos de áudio direcionados separados permanece pendente.

O mesmo aplicativo pode ser exibido em vários monitores?

Se o aplicativo for compatível, várias instâncias das atividades do aplicativo poderão ser criadas. Por padrão, cada um é executado sob o mesmo processo. Um exemplo desse tipo de aplicativo é o Chrome. É conveniente testar isso usando uma amostra do Launcher , que permite o lançamento de uma atividade direcionada e uma solicitação para uma nova instância.

Várias instâncias do mesmo aplicativo podem ser criadas para diferentes telas/usuários?

O AOSP não permite que você crie vários sandboxes e processos separados do mesmo aplicativo 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 aplicativo.

Se usuários diferentes quiserem usar o mesmo aplicativo, eles devem fazer login com seus perfis. A separação no nível do aplicativo requer o login no aplicativo para cada sessão. Caso contrário, os dados de outro usuário ainda podem estar presentes.

O Android 10 suporta vários usuários?

Não. O Android 10 é compatível com um único usuário conectado.