Na urządzeniach z Androidem 15 lub nowszym Android Auto obsługuje uruchamianie aplikacji z obsługiwanych kategorii aplikacji na postoju bezpośrednio na jednostce głównej. Więcej informacji o wrażeniach użytkowników z aplikacji na postoju w Androidzie Auto znajdziesz w artykule Aplikacje na postoju.
Deklarowanie obsługi Androida Auto
Aby zadeklarować, że Twoja aplikacja obsługuje Androida Auto, musisz dodać ten
<category> element do filtra intencji aktywności w pliku manifestu aplikacji:
<activity ...>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
...
<category android:name="android.intent.category.CAR_LAUNCHER" />
</intent-filter>
</activity>
Zazwyczaj element kategorii android.intent.category.CAR_LAUNCHER można umieścić w tym samym filtrze intencji co element android.intent.category.LAUNCHER, ale w razie potrzeby może on znajdować się w innym filtrze.
Wpisy w pliku manifestu dotyczące kategorii
Oprócz powyższego wymagania gry muszą spełniać dodatkowe wymaganie. Więcej informacji znajdziesz w artykule Oznaczanie aplikacji jako gry.
Obsługa typowych rozmiarów ekranu Androida Auto
Aby zapewnić użytkownikom jak najlepsze wrażenia, zalecamy, aby aplikacja była w pełni dostosowana do różnych rozmiarów ekranu. Aby zapewnić wysoką jakość działania
w różnych samochodach obsługujących Androida Auto, aplikacje nie mogą być
znacznie przycięte po bokach na ekranach w orientacji poziomej, zgodnie ze DO-2
wskazówką dotyczącą jakości aplikacji samochodowych.
Jeśli na przykład aplikacja działa w orientacji pionowej z przycięciem po bokach na ekranie w orientacji poziomej, zostanie odrzucona podczas sprawdzania w Sklepie Play. Aplikacja działająca w orientacji poziomej z minimalnym przycięciem po bokach na ekranie w orientacji poziomej jest akceptowalna, podobnie jak aplikacja działająca w orientacji poziomej z przycięciem u góry i u dołu na ekranie w orientacji pionowej.
Testowanie na ekranach o standardowych rozmiarach
Podczas tworzenia i testowania aplikacji na Androida Auto możesz użyć tych konfiguracji jednostki głównej na komputerze, aby sprawdzić, czy aplikacja spełnia powyższe wymagania:
Mały ekran w orientacji poziomej
[general]
resolution = 800x480
dpi = 160
...
Szeroki ekran w orientacji poziomej
[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...
Ekran w orientacji pionowej
[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...
Wykrywanie użycia w Androidzie Auto
Jeśli chcesz wykrywać, kiedy Twoja aplikacja jest używana w Androidzie Auto (np. na potrzeby analizy), możesz sprawdzić 2 sygnały:
- Stan połączenia zgłaszany przez interfejs API
CarConnection. Gdy Android Auto jest połączony, będzie toCONNECTION_TYPE_PROJECTION. - Identyfikator aktywnego wyświetlacza. Gdy aplikacja działa na wyświetlaczu
innym niż wbudowany ekran, np. gdy jest używana w Androidzie Auto, jest to
wartość inna niż
DEFAULT_DISPLAY.
Ten fragment kodu pokazuje, jak połączyć te sygnały, aby wykryć użycie w Androidzie Auto:
val displayId = context.display?.displayId ?: DEFAULT_DISPLAY isRunningOnAndroidAuto = (connectionType == CONNECTION_TYPE_PROJECTION) && (displayId != DEFAULT_DISPLAY)