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 toCONNECTION_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