Tworzenie usługi CarAppService i sesji

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ę.