Criar navegadores para o Android Automotive OS

A categoria "Navegadores" está na versão Beta
No momento, qualquer pessoa pode publicar navegadores em faixas de teste interno na Play Store. A publicação em faixas de teste fechado, aberto e de produção será permitida em uma data posterior.

Além dos requisitos descritos em Criar apps do Android Automotive OS para carros estacionados e Adicionar suporte para o Android Automotive OS ao seu app estacionado, há alguns outros requisitos específicos para navegadores que serão detalhados nesta página.

Permitir que os usuários bloqueiem o acesso a dados sensíveis

Ao contrário de muitos dispositivos Android, os veículos com o Android Automotive OS geralmente são dispositivos compartilhados. Para que os usuários possam proteger dados sensíveis, como senhas e informações de pagamento, os navegadores criados para o Android Automotive OS não podem salvar nem permitir acesso a senhas ou informações de pagamento, a menos que o usuário possa bloquear o acesso a senhas usando um bloqueio de perfil. A autenticação pode ser realizada usando a credencial do dispositivo ou criando um sistema de autenticação no app.

Além disso, antes de sincronizar dados confidenciais, os navegadores criados para o Android Automotive OS precisam solicitar que o usuário faça a autenticação e envie mensagens para informar que os dados estão sendo sincronizados com o carro. Se o usuário não tiver nenhum método de autenticação configurado, você vai poder solicitar que ele configure um quando tentar sincronizar dados sensíveis, usando a credencial do dispositivo ou uma específica do seu app.

Usar a credencial do dispositivo para autenticação

Esta seção fornece orientações sobre como usar as credenciais do dispositivo e as APIs de autenticação do sistema para atender aos requisitos de dados sensíveis descritos anteriormente.

Conferir se há uma credencial do dispositivo definida

Para conferir se o usuário protegeu o dispositivo com um PIN, padrão ou senha, use o método KeyguardManager::isDeviceSecure.

Kotlin

val keyguardManager = context.getSystemService(KeyguardManager::class.java)
val isDeviceSecure = keyguardManager.isDeviceSecure()

Java

KeyguardManager keyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
boolean isDeviceSecure = keyguardManager.isDeviceSecure();

Abrir as configurações da tela de bloqueio

Para reduzir o atrito no caso de uma credencial de dispositivo, abra a tela "Segurança" no app Configurações usando a ação da intent Settings.ACTION_SECURITY_SETTINGS.

Kotlin

context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))

Java

context.startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS))

Pedir a autenticação do usuário

Para pedir a autenticação do usuário, use a API BiometricPrompt, conforme descrito em Mostrar uma caixa de diálogo para autenticação biométrica.