Crea il servizio CarAppService e la sessione

La tua app deve estendere la classe CarAppService e implementare il relativo metodo onCreateSession, che restituisce un'istanza Session che corrisponde alla connessione corrente all'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();
  }
  ...
}

L'istanza Session restituisce l'istanza Screen da utilizzare quando l'app viene avviata per la prima volta:

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

Quando l'app per l'auto deve iniziare da una schermata diversa da Home o Landing, ad esempio quando gestisce link diretti, puoi utilizzare ScreenManager.push prima di tornare da onCreateScreen per precompilare una cronologia delle schermate precedenti. Il pre-seeding consente agli utenti di tornare alle schermate precedenti dalla prima schermata visualizzata dall'app.