Browser für Android Automotive OS entwickeln

Die Kategorie „Browser“ befindet sich in der Beta-Phase.
Derzeit kann jeder Browser in den Tracks für interne Tests im Google Play Store veröffentlichen. Die Veröffentlichung in Tracks für geschlossene Tests, offene Tests und Produktions-Tracks wird zu einem späteren Zeitpunkt zugelassen.

Neben den Anforderungen, die unter Geparkte Apps für Autos entwickeln und Unterstützung von Android Automotive OS zu deiner geparkten App hinzufügen, beschrieben werden, gibt es einige zusätzliche Anforderungen speziell für Browser, die auf dieser Seite näher erläutert werden.

App als Browser kennzeichnen

Damit deine App als Browser gekennzeichnet wird, muss sie in einem exportierten <activity> Element einen Intent-Filter wie den folgenden enthalten:

<activity ...
    android:exported="true">
  ...
  <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
   ...
    <category android:name="android.intent.category.APP_BROWSER"/>
  </intent-filter>
</activity>

Weitere Informationen findest du unter android.intent.category.APP_BROWSER.

Nutzern die Möglichkeit geben, den Zugriff auf sensible Daten zu blockieren

Im Gegensatz zu vielen Android-Geräten werden Fahrzeuge mit Android Automotive OS oft von mehreren Personen genutzt. Damit Nutzer ihre sensiblen Daten wie Passwörter und Zahlungsinformationen schützen können, dürfen Browser, die für Android Automotive OS Passwörter oder Zahlungsinformationen nur speichern oder den Zugriff darauf zulassen, wenn der Nutzer den Zugriff auf Passwörter mit einer Profilsperre blockieren kann. Die Authentifizierung kann entweder mit den Anmeldedaten des Geräts oder durch Erstellen eines Authentifizierungssystems in deiner App erfolgen.

Außerdem müssen Browser, die für Android Automotive OS entwickelt wurden, den Nutzer vor dem Synchronisieren sensibler Daten zur Authentifizierung auffordern und ihn darüber informieren, dass seine Daten mit dem Auto synchronisiert werden. Wenn der Nutzer keine Authentifizierungsmethode eingerichtet hat, kannst du ihn auffordern, eine einzurichten, wenn er versucht, sensible Daten zu synchronisieren. Dabei kann er entweder die Anmeldedaten des Geräts oder eine Methode verwenden, die speziell für deine App gilt.

Anmeldedaten des Geräts für die Authentifizierung verwenden

In diesem Abschnitt erfährst du, wie du die Anmeldedaten des Geräts und die Systemauthentifizierungs-APIs verwenden kannst, um die oben beschriebenen Anforderungen für sensible Daten zu erfüllen.

Prüfen, ob Anmeldedaten für das Gerät festgelegt sind

Mit der Methode KeyguardManager::isDeviceSecure kannst du prüfen, ob der Nutzer sein Gerät mit einer PIN, einem Muster oder einem Passwort gesichert hat.

val keyguardManager = context.getSystemService<KeyguardManager>()
val isDeviceSecure = keyguardManager?.isDeviceSecure == true

Sperrbildschirmeinstellungen öffnen

Wenn der Nutzer Anmeldedaten für das Gerät festlegen muss, kannst du ihm die Einstellungen für die Sicherheit in der Einstellungen-App mit der Settings.ACTION_SECURITY_SETTINGS Intent-Aktion öffnen.

context.startActivity(
    Intent(Settings.ACTION_SECURITY_SETTINGS)
        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
)

Nutzer zur Authentifizierung auffordern

Um den Nutzer zur Authentifizierung aufzufordern, kannst du die BiometricPrompt API verwenden, wie unter Dialog zur biometrischen Authentifizierung anzeigen beschrieben.