System operacyjny Android Automotive to wersja Androida zoptymalizowana pod kątem użytku w samochodzie, która rozszerza podstawową platformę Androida. Samochody z wbudowanymi usługami Google działają w systemie operacyjnym Android Automotive i mają zainstalowane aplikacje i usługi Google, takie jak Google Play, Gemini, Asystent Google i Mapy Google.
Więcej informacji o sprzęcie z systemem operacyjnym Android Automotive
Więcej informacji o minimalnych wymaganiach sprzętowych dotyczących urządzeń z systemem operacyjnym Android Automotive znajdziesz w sekcji Wymagania dotyczące samochodów w dokumencie definicji zgodności z Androidem (CDD) dla wersji Androida obsługiwanych przez Twoją aplikację.
Wycięcia w ekranie
Podobnie jak w przypadku innych formatów Androida, wycięcia w ekranie są obsługiwane przez urządzenia z systemem operacyjnym Android Automotive z ekranami innymi niż prostokątne. Rozmiar i kształt wycięć w samochodach mogą się jednak znacznie różnić od tych w innych formatach. Szczegółowe wskazówki znajdziesz w artykule Praca z wcięciami okien i wycięciami w ekranie.
Dźwięk
Urządzenia z systemem operacyjnym Android Automotive mają zwykle stałą głośność. Więcej informacji o tym, jak może to wpłynąć na Twoją aplikację, znajdziesz w artykule Praca z urządzeniami o stałej głośności.
Informacje o oprogramowaniu systemu operacyjnego Android Automotive
System operacyjny Android Automotive jest oparty na tym samym podstawowym systemie operacyjnym co inne formaty, ale ma kilka dodatkowych funkcji, które mogą wpływać na sposób tworzenia i używania aplikacji.
Interfejs systemu
Istnieją pewne różnice w sposobie działania tych elementów interfejsu systemu w samochodach, o których należy pamiętać.
Nawigacja
W przeciwieństwie do innych formatów urządzenia z systemem operacyjnym Android Automotive nie muszą mieć sprzętowego ani programowego przycisku wstecz. Jeśli aplikacja nie jest uruchamiana w
trybie zgodności, aktywności w niej powinny zawierać elementy interfejsu
umożliwiające nawigację w aplikacji, aby spełniać wytyczne dotycząceAN-1jakości.
Układ paska systemu
Podobnie jak w przypadku innych formatów, system operacyjny Android Automotive zawiera paski systemu takie jak pasek stanu i pasek nawigacji. W samochodach te paski mogą mieć inny rozmiar i położenie niż w innych formatach. Na przykład paski nawigacji mogą być umieszczone po lewej, prawej lub dolnej stronie ekranu. Nawet jeśli pasek stanu znajduje się u góry, a pasek nawigacji u dołu (jak w większości telefonów i tabletów), rozmiar tych elementów będzie prawdopodobnie znacznie większy w samochodach.
Ponadto, o ile wycięcia w ekranie na urządzeniach mobilnych są zwykle zawarte w granicach pasków systemu, w samochodach tak nie jest.
Szczegółowe wskazówki znajdziesz w artykule Praca z wcięciami okien i wycięciami w ekranie.
Tryb pojemny
System operacyjny Android Automotive umożliwia producentom OEM kontrolowanie, czy aplikacje mogą wyświetlać lub ukrywać paski systemu, aby włączać i wyłączać tryb pojemny. Uniemożliwiając aplikacjom ukrywanie pasków systemu, producenci OEM mogą zapewnić, że elementy sterujące pojazdu, takie jak klimatyzacja, są zawsze dostępne na ekranie.
Ograniczenia dotyczące wrażeń użytkownika
Ograniczenia dotyczące wrażeń użytkownika to funkcja wbudowana w system operacyjny Android Automotive, która umożliwia uwzględnianie kwestii związanych z rozpraszaniem uwagi kierowcy. Ograniczenia dotyczące wrażeń użytkownika automatycznie uniemożliwiają korzystanie z aplikacji, które nie zostały zoptymalizowane pod kątem użytku podczas jazdy.
Producenci pojazdów określają reguły dotyczące tego, jak i kiedy aktywne są ograniczenia dotyczące wrażeń użytkownika. Te reguły mogą się różnić w zależności od regionu. Na przykład ten sam pojazd sprzedawany w Europie może mieć inne reguły niż pojazd sprzedawany w Stanach Zjednoczonych.
Reguły dotyczące ograniczeń wrażeń użytkownika mogą się też różnić w zależności od wyświetlacza w pojeździe. Na przykład wyświetlacz środkowy w polu widzenia kierowcy może być ograniczony, gdy pojazd jest w ruchu, a wyświetlacz pasażera pozostaje nieograniczony.
Jeśli Twoja aplikacja musi dostosować się do ograniczeń dotyczących wrażeń użytkownika, odwołuj się do nich bezpośrednio – nie stosuj inżynierii wstecznej. Jeśli na przykład założysz, że ograniczenia dotyczące wrażeń użytkownika są aktywne, gdy bieg nie jest ustawiony na parkowanie, możesz niepotrzebnie ograniczyć aplikację działającą na wyświetlaczu pasażera.
Minimalizacja liczby elementów rozpraszających uwagę
Domyślnie aktywności nie mogą być uruchamiane, gdy aktywne są ograniczenia dotyczące wrażeń użytkownika, aby ograniczyć rozpraszanie uwagi kierowcy. Aby wskazać systemowi, że aktywność
powinna być kontynuowana, gdy pojazd jest w ruchu, można dodać ten <meta-data>
element w odpowiednim <activity> elemencie.
<activity ...>
<meta-data android:name="distractionOptimized" android:value="true">
</activity>
Podczas tworzenia aplikacji na system operacyjny Android Automotive te metadane
powinny być obecne w pliku manifestu tylko wtedy, gdy deklarujesz element <activity>manifestu
dla CarAppActivity aplikacji utworzonej za pomocą biblioteki aplikacji do samochodu.
Żadne inne aktywności nie powinny być oznaczane jako zoptymalizowane pod kątem rozpraszania uwagi. Jeśli tak się stanie, Twoja aplikacja zostanie odrzucona podczas przesyłania do Sklepu Google Play.
Ułatwienia dostępu
Obsługa ułatwień dostępu w systemie operacyjnym Android Automotive nie jest tak rozbudowana jak w innych formatach. Na urządzeniach z systemem operacyjnym Android Automotive nie są dostępne TalkBack, Switch Access ani Voice Access.
Na urządzeniach z systemem operacyjnym Android Automotive obsługiwane są ustawienia napisów. Szczegółowe informacje o integracji znajdziesz w artykule Dostosowywanie ustawień napisów systemowych.
Wybór sieci
System operacyjny Android Automotive obsługuje wybór sieci na poziomie aplikacji (PANS), który umożliwia producentom OEM kierowanie ruchu w sieci komórkowej do różnych sieci na poziomie aplikacji.
Większość aplikacji korzysta tylko z domyślnej sieci, która jest do nich przypisana, i tylko z tej funkcji może korzystać. Na przykład producent OEM może płacić za ruch w sieci z Twojej aplikacji, nawet jeśli użytkownik nie ma własnego pakietu danych. Jeśli Twoja aplikacja (lub jedna z jej zależności) korzysta z sieci innych niż domyślna, może nie korzystać z preferencji ustawionych przez producenta OEM. Więcej wskazówek dotyczących korzystania z sieci innych niż domyślna znajdziesz w artykule Odczytywanie stanu sieci.
Funkcje systemowe
Możesz sprawdzić, czy dana funkcja jest dostępna, za pomocą
PackageManager::hasSystemFeature, i odpowiednio dostosować działanie aplikacji.
Funkcje sprzętowe
Podobnie jak w przypadku innych formatów innych niż mobilne, funkcje sprzętowe dostępne w samochodach mogą się różnić od tych, które są dostępne na urządzeniach mobilnych.
Orientacja ekranu
Podobnie jak telewizory, samochody mają stałą orientację. W przeciwieństwie do telewizorów są dostępne w orientacji pionowej i poziomej. Aby aplikacje utworzone na system operacyjny Android Automotive można było rozpowszechniać na wszystkie pojazdy, muszą one nie mieć wyraźnych ani domyślnych wymagań dotyczących funkcji android.hardware.screen.landscape lub android.hardware.screen.portrait.
Lokalizacja sieciowa
Wiele urządzeń z systemem operacyjnym Android Automotive nie implementuje stosu telefonicznego używanego
do określania lokalizacji sieciowej, dlatego nie zgłasza funkcji systemowej
android.hardware.location.network. Chociaż lokalizacja sieciowa może być niedostępna, dostęp do przybliżonej lokalizacji jest nadal obsługiwany. Więcej informacji znajdziesz w artykule Przybliżona lokalizacja w systemie operacyjnym Android Automotive.
Funkcje oprogramowania
Niektóre funkcje oprogramowania, które są powszechnie dostępne w innych formatach, mogą nie być obsługiwane na urządzeniach z systemem operacyjnym Android Automotive. Na przykład w wielu pojazdach z systemem operacyjnym Android Automotive nie są dostępne te funkcje:
Spełnianie wymagań dotyczących funkcji w Google Play
Aby aplikacje utworzone na system operacyjny Android Automotive
OS można było rozpowszechniać w samochodach za pomocą Google Play, muszą one zawierać element <uses-feature> w pliku
AndroidManifest.xml dla funkcji android.hardware.type.automotive:
<manifest ...>
...
<!--
See Choose a track for Android Automotive OS
for details on how to choose which value to use for the android:required attribute.
-->
<uses-feature
android:name="android.hardware.type.automotive"
android:required="[true|false]">
...
</manifest>
Jeśli Twoja aplikacja ma wyraźną deklarację funkcji z
android:required="true" lub domyślne wymaganie dotyczące funkcji dla którejkolwiek z
tych funkcji, musisz je zaktualizować lub usunąć, aby wymagania dotyczące funkcji aplikacji
nie uniemożliwiały jej rozpowszechniania na pojazdy, które są z nią zgodne:
android.hardware.wifiandroid.hardware.screen.portraitandroid.hardware.screen.landscapeandroid.hardware.camera
W przypadku funkcji wyraźnie zadeklarowanych za pomocą android:required="true" możesz wykonać
jedną z tych czynności:
- Usuń element
<uses-feature>, jeśli funkcja nie jest wymagana w inny sposób. - Wyraźnie zadeklaruj funkcję za pomocą
android:required="false".
W przypadku funkcji wymaganych domyślnie możesz wykonać jedną z tych czynności:
- Wyraźnie zadeklaruj funkcję za pomocą
android:required="false". - Usuń lub zaktualizuj wartości w pliku manifestu, które wprowadzają domyślne wymaganie dotyczące funkcji.
Zmiana deklaracji funkcji w pliku manifestu nie wpływa na rzeczywiste działanie aplikacji, dlatego sprawdź, czy aplikacja nadal działa prawidłowo bez tych funkcji.
Najczęstsze pytania
Które pojazdy mają wbudowane usługi Google?
Listę producentów OEM, którzy mają modele z wbudowanymi usługami Google, znajdziesz na stronie Samochody z wbudowanymi usługami Google. Specyfikacje sprzętu i inne szczegóły urządzenia można uzyskać za pomocą katalogu urządzeń w Konsoli Play.