Aplikacja musi rozszerzać klasę CarAppService i implementować jej metodę onCreateSession, która zwraca instancję Session odpowiadającą bieżącemu połączeniu z hostem:
Kotlin
class HelloWorldService : CarAppService() {
...
override fun onCreateSession(): Session {
return HelloWorldSession()
}
...
}
Java
public final class HelloWorldService extends CarAppService {
...
@Override
@NonNull
public Session onCreateSession() {
return new HelloWorldSession();
}
...
}
Instancja Session zwraca instancję Screen, która ma być używana przy pierwszym uruchomieniu aplikacji:
Kotlin
class HelloWorldSession : Session() {
...
override fun onCreateScreen(intent: Intent): Screen {
return HelloWorldScreen(carContext)
}
...
}
Java
public final class HelloWorldSession extends Session {
...
@Override
@NonNull
public Screen onCreateScreen(@NonNull Intent intent) {
return new HelloWorldScreen(getCarContext());
}
...
}
Jeśli aplikacja samochodowa musi się uruchamiać na ekranie innym niż Ekran główny lub Strona docelowa, np. w przypadku obsługi precyzyjnych linków, możesz użyć ScreenManager.push przed powrotem z onCreateScreen, aby wstępnie wypełnić stos wsteczny ekranów. Wstępne wypełnianie umożliwia użytkownikom powrót do poprzednich ekranów z pierwszego ekranu wyświetlanego przez aplikację.