Créer des navigateurs pour Android Automotive OS

Outre les exigences décrites dans la section Créer des applications à utiliser à l'arrêt pour Android Automotive OS, vous devez respecter certaines exigences supplémentaires propres aux navigateurs, décrites sur cette page.

Autoriser les utilisateurs à bloquer l'accès aux données sensibles

Contrairement à de nombreux appareils Android, les véhicules Android Automotive OS sont souvent partagés. Pour permettre aux utilisateurs de protéger leurs données sensibles telles que les mots de passe et les informations de paiement, les navigateurs conçus pour Android Automotive OS ne doivent pas enregistrer ni autoriser l'accès aux mots de passe ou aux informations de paiement, sauf si les utilisateurs peuvent bloquer l'accès aux mots de passe à l'aide du verrouillage du profil. L'authentification peut être effectuée à l'aide des identifiants de l'appareil ou en créant un système d'authentification dans votre application.

En outre, avant de synchroniser les données sensibles, les navigateurs conçus pour Android Automotive OS doivent inviter l'utilisateur à s'authentifier et l'informer que ses données sont en cours de synchronisation avec la voiture. Si aucune méthode d'authentification n'est configurée, vous pouvez inviter l'utilisateur à en configurer une lorsqu'il tente de synchroniser des données sensibles, à l'aide des identifiants de l'appareil ou d'identifiants propres à votre application.

Utiliser les identifiants de l'appareil pour l'authentification

Cette section explique comment utiliser les identifiants de l'appareil et les API d'authentification système pour répondre aux exigences relatives aux données sensibles décrites précédemment.

Vérifier si des identifiants sont définis pour l'appareil

Pour déterminer si l'utilisateur a sécurisé son appareil avec un code, un schéma ou un mot de passe, vous pouvez utiliser la méthode 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();

Ouvrir les paramètres de l'écran de verrouillage

Pour réduire les problèmes rencontrés par l'utilisateur lorsqu'il doit définir des identifiants pour l'appareil, vous pouvez ouvrir l'écran Sécurité dans l'application Paramètres à l'aide de l'action d'intent Settings.ACTION_SECURITY_SETTINGS.

Kotlin

context.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))

Java

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

Inviter l'utilisateur à s'authentifier

Pour inviter l'utilisateur à s'authentifier, vous pouvez utiliser l'API BiometricPrompt comme décrit dans la section Afficher une boîte de dialogue d'authentification biométrique.