Um die Übertragung mobiler Apps auf Android Automotive OS-Geräte zu vereinfachen, ist in bestimmten Autos ein Kompatibilitätsmodus verfügbar, der häufige Probleme behebt, die bei der Übertragung vorhandener mobiler Apps in Autos auftreten.
Dieser Kompatibilitätsmodus wird zwar vom Programm „Mit Autos kompatible Apps“ verwendet, kann aber auch für Apps genutzt werden, die nicht Teil dieses Programms sind.
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 mobile Geräte entwickelt wurden und auf Android Automotive OS ausgeführt werden.
Rückwärtsnavigation
Im Gegensatz zu anderen Formfaktoren müssen Android Automotive OS-Geräte keine Hardware- oder Software-Affordance für die Rückwärtsnavigation haben. Der Kompatibilitätsmodus behebt dieses Problem, indem er eine vom System bereitgestellte Affordance für die Rückwärtsnavigation erfordert, z. B. eine Hardware- oder Softwaretaste oder eine Geste. Das bedeutet, dass Apps keine eigenen Steuerelemente für die Rückwärtsnavigation bereitstellen müssen, wenn sie nur auf Geräten mit Kompatibilitätsmodus ausgeführt werden sollen.
Mit Kompatibilitätsmodus
Ohne Kompatibilitätsmodus
Rendering im sicheren Bereich
In Autos können Software- und Hardwareelemente wie Systemleisten und Display ausschnitte Annahmen ungültig machen, die bei der Entwicklung von Apps für Mobilgeräte getroffen wurden. Der Kompatibilitätsmodus behebt dieses Problem, indem Apps in einem sicheren Bereich gerendert werden.
Dichteskalierung
Da der Interaktionsabstand in Autos größer ist als bei anderen Geräten mit großem Bildschirm, sind Touch-Targets und Schriftgrößen oft kleiner als empfohlen, wenn die App in einem Auto ausgeführt wird. Der Kompatibilitätsmodus behebt dieses Problem, indem OEMs einen DPI-Skalierungsfaktor angeben können, der beim Rendern von Apps verwendet wird.
Aktivitätslebenszyklus
Wie unter Unterstützung von Android Automotive OS zu deiner geparkten App beschrieben, blockiert das Betriebssystem die Aktivitäten deiner App automatisch, wenn das Auto in den Fahrmodus wechselt, um den Fahrer nicht abzulenken. Auf Geräten mit Kompatibilitätsmodus darf die blockierende Benutzeroberfläche des OEMs nicht transparent sein, sodass deine App nicht mehr sichtbar ist und beim Blockieren in den Lebenszyklusstatus Beendet wechselt.
Kompatibilitätsmodus konfigurieren
Standardmäßig werden die Aktivitäten deiner App im Kompatibilitätsmodus ausgeführt, wenn das Gerät ihn unterstützt. Aktivitäten werden nicht im Kompatibilitätsmodus ausgeführt, wenn im Manifest ein
<uses-feature> Element für die android.hardware.type.automotive
Funktion vorhanden ist:
<manifest ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</manifest>
Wenn deine Aktivitäten unabhängig vom oben beschriebenen <uses-feature> Element im Kompatibilitätsmodus für das Display ausgeführt werden sollen,
kannst du das folgende <meta-data> Element im Manifest deiner App hinzufügen:
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
App im Kompatibilitätsmodus testen
Wenn du deine App im Kompatibilitätsmodus testen möchtest, kannst du die generischen Systemimages mit Kompatibilitätsmodus oder die Android Automotive OS-Systemimages auf dem Pixel Tablet verwenden.
Geräteunterstützung ermitteln
Geräte, die den Android Automotive OS-Kompatibilitätsmodus unterstützen, müssen die Systemfunktion android.software.car.display_compatibility deklarieren. Im Gerätekatalog der Play Console kannst du herausfinden, welche Geräte diese Funktion unterstützen.