Cómo crear tu CarAppService y Session

Tu app debe extender la clase CarAppService e implementar su método onCreateSession, que devuelve una instancia de Session que corresponde a la conexión actual al host:

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();
  }
  ...
}

La instancia de Session devuelve qué instancia de Screen se debe usar cuando se inicia la app por primera vez:

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());
  }
  ...
}

Cuando tu app para vehículos debe iniciarse desde una pantalla que no sea la de Inicio o Destino, como cuando se controlan vínculos directos, puedes usar ScreenManager.push antes de regresar de onCreateScreen para completar previamente una pila de actividades de pantallas. Esta acción previa permite a los usuarios volver a las pantallas anteriores desde la primera pantalla que muestre tu app.