Aby uprościć proces przenoszenia aplikacji mobilnych na urządzenia z systemem operacyjnym Android Automotive, niektóre samochody są wyposażone w tryb zgodności, który rozwiązuje typowe problemy występujące podczas przenoszenia dotychczasowych aplikacji mobilnych na samochody.
Ten tryb zgodności jest używany przez program Aplikacje mobilne do sterowania samochodem, ale mogą w nim działać też aplikacje, które nie są częścią tego programu.
Tryb zgodności
Tryb zgodności z systemem operacyjnym Android Automotive to funkcja oprogramowania dostępna w niektórych pojazdach, która ma na celu zwiększenie wygody korzystania z aplikacji stworzonych na urządzenia mobilne, gdy są one uruchamiane w systemie operacyjnym Android Automotive.
Nawigacja wstecz
W odróżnieniu od innych formatów nie ma wymogu, aby urządzenia z systemem Android Automotive miały sprzętowe lub programowe elementy obsługi. Tryb zgodności wymaga użycia elementu sterującego, który jest dostępny w systemie, np. przycisku sprzętowego, przycisku oprogramowania, gestu lub czegoś innego. Dzięki temu aplikacje nie muszą zapewniać możliwości nawigacji wyłącznie za pomocą własnych elementów interfejsu.
Renderowanie bezpiecznego obszaru
W samochodach elementy oprogramowania i sprzętu, takie jak paski systemowe i wycięcia na wyświetlaczu, mogą zakłócać działanie aplikacji opracowanych głównie na urządzenia mobilne. Tryb zgodności rozwiązuje ten problem, ponieważ zapewnia, że aplikacje są renderowane w bezpiecznej strefie.
Skalowanie gęstości
Ponieważ odległość interakcji w samochodach jest większa niż w przypadku innych urządzeń z dużym ekranem, cele dotykowe i rozmiary czcionek są często mniejsze niż zalecane podczas uruchamiania w samochodzie. Tryb zgodności rozwiązuje ten problem, umożliwiając producentom OEM określenie współczynnika skalowania DPI używanego podczas renderowania aplikacji.
Cykl życia działania
Jak opisano w artykule Tworzenie zaparkowanych aplikacji na system operacyjny Android Automotive, system operacyjny automatycznie blokuje działania aplikacji, gdy samochód przechodzi w tryb jazdy, aby zmniejszyć rozproszenie uwagi kierowcy. Na urządzeniach z trybem zgodności interfejs blokowania OEM nie może być przezroczysty, aby aplikacja nie była widoczna. Po zablokowaniu aplikacja przechodzi w stan cyklu życia Zatrzymany.
Konfigurowanie trybu zgodności
Domyślnie działania aplikacji są wykonywane w trybie zgodności, jeśli urządzenie go obsługuje. Aktywności nie są uruchamiane w trybie zgodności w tych przypadkach:
- Jeśli w pliku manifestu znajduje się element
<uses-feature>
funkcjiandroid.hardware.type.automotive
:
<application ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</application>
- Jeśli w pliku manifestu
<activity>
znajduje się element<meta-data>
:
<meta-data android:name="distractionOptimized" android:value="true">
Jeśli któryś z tych elementów dotyczy Twojej aplikacji, ale wolisz, aby Twoje aktywności były wyświetlane w trybie zgodności z wyświetlaczem, możesz dodać do pliku manifestu aplikacji element <meta-data>
:
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
Testowanie aplikacji w trybie zgodności
Aby przetestować aplikację w trybie zgodności, możesz użyć ogólnych obrazów systemu z włączonym trybem zgodności.
Określanie obsługi urządzeń
Urządzenia, które obsługują tryb zgodności systemu operacyjnego Android Automotive, muszą deklarować funkcję systemową android.software.car.display_compatibility
. Aby sprawdzić, które urządzenia obsługują tę funkcję, otwórz Katalog urządzeń w Konsoli Play.