Modalità di compatibilità di Android Automotive OS

Per semplificare la procedura di trasferimento delle app mobile sui dispositivi con sistema operativo Android Automotive, alcune auto sono dotate di una modalità di compatibilità che risolve i problemi comuni riscontrati durante il trasferimento delle app mobile esistenti nelle auto.

Sebbene questa modalità di compatibilità sia utilizzata dal programma per app mobile Car ready, possono essere eseguite anche le app che non fanno parte di questo programma.

Informazioni sulla modalità di compatibilità

La modalità di compatibilità del sistema operativo Android Automotive è una funzionalità software disponibile su alcuni veicoli per migliorare l'esperienza utente delle app sviluppate per i dispositivi mobili quando vengono eseguite su Android Automotive OS.

Navigazione a ritroso

A differenza di altri fattori di forma, non è necessario che i dispositivi con sistema operativo Android Automotive abbiano un'affordance per il tasto Indietro hardware o software. La modalità di compatibilità risolve il problema richiedendo un'affordance Indietro fornita dal sistema, che si tratti di un pulsante hardware, di un pulsante software, di un gesto o di altro. In questo modo, le app non devono più garantire la navigabilità solo tramite i propri elementi dell'interfaccia utente.

L'utente può tornare alla schermata precedente anche se l'app non fornisce un'affordance Indietro nella sua interfaccia utente.
L'utente non può tornare alla schermata precedente.

Rendering dell'area sicura

Nelle auto, elementi software e hardware come barre di sistema e ritagli del display potrebbero violare le ipotesi fatte dalle app sviluppate principalmente per dispositivi mobili. La modalità di compatibilità risolve questo problema garantendo che le app vengano visualizzate in un'area sicura.

Scalabilità della densità

Poiché la distanza di interazione nelle auto è maggiore rispetto ad altri dispositivi con schermi di grandi dimensioni, i target di tocco e le dimensioni dei caratteri sono spesso inferiori a quanto consigliato quando si utilizza l'app su un'auto. La modalità di compatibilità risolve il problema consentendo agli OEM di specificare un fattore di scala DPI utilizzato durante il rendering delle app.

Ciclo di vita dell'attività

Come descritto in Creare app per il parcheggio per il sistema operativo Android Automotive, il sistema operativo blocca automaticamente le attività della tua app quando l'auto entra in modalità di guida per ridurre le distrazioni per il conducente. Sui dispositivi con modalità di compatibilità, l'interfaccia utente di blocco dell'OEM non deve essere trasparente, pertanto la tua app non è più visibile e passa allo stato di ciclo di vita Interrotta quando viene bloccata.

Configurare la modalità di compatibilità

Per impostazione predefinita, le attività dell'app vengono eseguite in modalità di compatibilità se il dispositivo lo supporta. Le attività non vengono eseguite in modalità compatibilità nei seguenti casi:

  • Quando nel manifest è presente un elemento <uses-feature> per la funzionalità android.hardware.type.automotive:
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • Se è presente un elemento manifest <activity> che contiene il seguente elemento <meta-data>:
<meta-data android:name="distractionOptimized" android:value="true">

Se una di queste condizioni si applica alla tua app, ma preferisci che le tue attività vengano eseguite in modalità di compatibilità con il display, puoi aggiungere il seguente elemento <meta-data> nel file manifest della tua app:

<application ...>
  ...
  <meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
  ...
</application>

Testare l'app in modalità di compatibilità

Per testare l'app in modalità di compatibilità, puoi utilizzare le immagini di sistema generiche con modalità di compatibilità.

Determinare il supporto del dispositivo

I dispositivi che supportano la modalità di compatibilità del sistema operativo Android Automotive devono dichiarare la funzionalità di sistema android.software.car.display_compatibility. Per scoprire quali dispositivi supportano questa funzionalità, puoi utilizzare il Catalogo dei dispositivi di Play Console.