Dodawanie obsługi Androida Auto w aplikacji wstrzymanej

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 to CONNECTION_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)