Um die Bereitstellung mobiler Apps auf Android Automotive OS-Geräten zu vereinfachen, sind bestimmte Autos mit einem Kompatibilitätsmodus ausgestattet, der häufige Probleme bei der Bereitstellung vorhandener mobiler Apps in Autos behebt.
Dieser Kompatibilitätsmodus wird zwar vom Programm Mobile Apps für Autos verwendet, aber auch Apps, die nicht Teil dieses Programms sind, können darin ausgeführt werden.
Kompatibilitätsmodus
Der Android Automotive OS-Kompatibilitätsmodus ist eine Softwarefunktion, die in einigen Fahrzeugen verfügbar ist, um die Nutzerfreundlichkeit von Apps zu verbessern, die für Mobilgeräte entwickelt wurden und unter Android Automotive OS ausgeführt werden.
Rückwärtsnavigation
Im Gegensatz zu anderen Formfaktoren ist für Geräte mit Android Automotive OS keine Hardware- oder Software-Back-Affordance erforderlich. Im Kompatibilitätsmodus ist eine vom System bereitgestellte Rückmeldung erforderlich, z. B. eine Hardware- oder Softwareschaltfläche, eine Geste oder etwas anderes. So müssen Apps nicht mehr ausschließlich über ihre eigenen UI-Elemente bedienbar sein.
Rendering im sicheren Bereich
In Autos können Software- und Hardwareelemente wie Systemleisten und Displayausschnitte Annahmen von Apps, die hauptsächlich für Mobilgeräte entwickelt wurden, zunichte machen. Im Kompatibilitätsmodus werden Apps in einem sicheren Bereich gerendert.
Dichteskalierung
Da die Interaktionsdistanz in Autos größer ist als bei anderen Geräten mit großem Bildschirm, sind Touch-Ziele und Schriftgrößen bei der Nutzung in einem Auto oft kleiner als empfohlen. Im Kompatibilitätsmodus können OEMs einen DPI-Skalierungsfaktor angeben, der beim Rendern von Apps verwendet wird.
Aktivitätslebenszyklus
Wie unter Apps für das Parken für Android Automotive OS entwickeln beschrieben, blockiert das Betriebssystem die Aktivitäten Ihrer App automatisch, wenn sich das Auto im Fahrmodus befindet, um Ablenkungen für den Fahrer zu reduzieren. Auf Geräten mit dem Kompatibilitätsmodus darf die blockierende Benutzeroberfläche des OEMs nicht transparent sein. Ihre App ist dann nicht mehr sichtbar und wechselt bei Blockierung in den Lebenszyklusstatus Angehalten.
Kompatibilitätsmodus konfigurieren
Standardmäßig werden die Aktivitäten Ihrer App im Kompatibilitätsmodus ausgeführt, wenn das Gerät dies unterstützt. In den folgenden Fällen werden Aktivitäten nicht im Kompatibilitätsmodus ausgeführt:
- Wenn im Manifest ein
<uses-feature>
-Element für dieandroid.hardware.type.automotive
-Funktion vorhanden ist:
<application ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</application>
- Wenn das Manifestelement
<activity>
das folgende Element<meta-data>
enthält:
<meta-data android:name="distractionOptimized" android:value="true">
Wenn eine dieser Bedingungen auf Ihre App zutrifft, Sie aber möchten, dass Ihre Aktivitäten im Modus für die Displaykompatibilität ausgeführt werden, können Sie das folgende <meta-data>
-Element in das Manifest Ihrer App einfügen:
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
App im Kompatibilitätsmodus testen
Wenn Sie Ihre App im Kompatibilitätsmodus testen möchten, können Sie die generischen Systembilder mit Kompatibilitätsmodus verwenden.
Gerätesupport ermitteln
Geräte, die den Kompatibilitätsmodus von Android Automotive OS unterstützen, müssen die Systemfunktion android.software.car.display_compatibility
deklarieren. Im Gerätekatalog der Play Console können Sie nachsehen, welche Geräte diese Funktion unterstützen.