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 bezpośrednio na panelu. Więcej informacji o tym, jak użytkownicy korzystają z aplikacji wstrzymanych w Androidzie Auto, znajdziesz w artykule Aplikacje wstrzymane.

Zadeklarowanie obsługi Androida Auto

Aby zadeklarować, że Twoja aplikacja obsługuje Androida Auto, musisz umieścić w filtrze intencji element <category> 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że być umieszczony w tym samym filtrze intencji co element android.intent.category.LAUNCHER, ale w razie potrzeby może być umieszczony w innym.

Wpisy w pliku manifestu dotyczące kategorii

Oprócz poprzedniego wymagania gry muszą spełniać dodatkowy wymóg. Zobacz artykuł Oznaczanie aplikacji jako gry.

Obsługa typowych rozmiarów ekranu w Android Auto

Aby zapewnić użytkownikom wygodę, zalecamy skonfigurowanie aplikacji tak, aby była w pełni dostosowana do różnych rozmiarów ekranu. Aby zapewnić wysoką jakość w różnych samochodach obsługujących Androida Auto, aplikacje nie mogą być znacznie ściśnione w ramkach obrazu w orientacji pionowej na ekranach w orientacji poziomej, zgodnie ze wskazówkami dotyczącymi jakości aplikacji samochodowych DO-2.

Jeśli na przykład aplikacja działa w formacie pionowym z wyświetlaniem w ramce na ekranie poziomym, zostanie odrzucona podczas weryfikacji w Sklepie Play. Aplikacja działająca w orientacji poziomej z minimalnym letterboxingiem na ekranie w orientacji poziomej jest dopuszczalna, podobnie jak aplikacja działająca w orientacji poziomej z letterboxingiem na ekranie w orientacji pionowej.

Testowanie na kanoniczne rozmiary ekranu

Podczas kompilowania 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 format poziomy

[general]
resolution = 800x480
dpi = 160
...

Szeroki format poziomy

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

Portret

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

Wykrywanie korzystania z Androida Auto

Jeśli chcesz wykryć, kiedy Twoja aplikacja jest używana przez Androida Auto (np. do celów analitycznych), możesz sprawdzić 2 sygnały:

  • Stan połączenia zgłoszony przez interfejs API CarConnection. Po połączeniu z Androidem Auto będzie to CONNECTION_TYPE_PROJECTION.
  • Identyfikator wyświetlacza aktywnego wyświetlacza. Gdy aplikacja działa na ekranie innym niż wbudowany, np. w Androidzie Auto, ta wartość jest inna niż DEFAULT_DISPLAY.

Ten fragment kodu pokazuje, jak połączyć te sygnały, aby wykryć korzystanie z Androida Auto:

val connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY