Kompatibilitätsmodus von Android Automotive OS

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.

Der Nutzer kann zum vorherigen Bildschirm zurückkehren, auch wenn die App in der Benutzeroberfläche keine Affordance für die Rückwärtsnavigation bietet.
Der Nutzer kann nicht zum vorherigen Bildschirm zurückkehren.

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.