O Android 10 é compatível com VSync por tela?
Ainda não. O VSync da tela padrão no Android 10 aciona 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 ou desativadas individualmente, definindo a superfície como
null
. A atividade ou o WindowManager responde a essa mudança de estado.
Como faço para configurar dinamicamente a associação entre 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 as decorações do sistema e a compatibilidade com IME em todas as telas secundárias. Isso funciona para telas pertencentes ao sistema, como painéis físicos ou uma tela simulada, mas pode ser restrito para telas virtuais pertencentes a 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.
Ele está disponível no system_server
.
Um dispositivo pode ser desbloqueado em 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 fundamental de segurança seja mantido.
O estado de bloqueio do dispositivo é global e se aplica a todas as telas.
Como mostrar um IME em uma tela diferente daquela em que ele está sendo usado?
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 sempre envio eventos principais para uma tela específica?
Um teclado é considerado uma fonte de entrada não segmentada. Portanto, a entrada vai para a janela em foco mais acima no sistema. Para um exemplo de entrada de tecla
direcionada, consulte a implementação do botão "Voltar" ou "Página inicial" na classe PhoneWindowManager
. Essas
chaves têm como destino apenas a tela, enquanto são exibidas no Android 10.
Como o áudio é tratado?
O Android 10 não tem melhorias significativas nessa área. O suporte a áudio em várias zonas para o Auto foi adicionado no Android 10, mas uma solução genérica para processar fluxos 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. O Chrome é um exemplo desse tipo de app. É conveniente testar isso usando uma amostra de Launcher, que permite o lançamento de uma atividade direcionada e uma solicitação de uma nova instância.
É possível criar várias instâncias do mesmo app para diferentes telas/usuários?
O AOSP não permite criar várias sandbox e processos separados do mesmo app para o mesmo usuário. Os casos de uso associados a essa solicitação exigem suporte simultâneo para vários usuários em vez de separação no nível do app.
Se usuários diferentes quiserem usar o mesmo app, eles precisarão fazer login com os próprios perfis. A separação no nível do app exige fazer login no app em cada sessão. Caso contrário, os dados de outros usuários ainda podem estar presentes.
O Android 10 é compatível com vários usuários?
Não. O Android 10 aceita apenas um usuário conectado.