Criar CarAppService e Session

Seu app precisa ampliar a classe CarAppService e implementar o método onCreateSession, que retorna uma instância Session correspondente à conexão atual com o 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();
  }
  ...
}

A instância Session retorna qual instância Screen usar quando o app é iniciado pela primeira 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());
  }
  ...
}

Quando o app para carro precisa ser iniciado em uma tela que não seja a inicial ou de destino, como ao processar links diretos, use ScreenManager.push antes de retornar de onCreateScreen para pré-buscar uma pilha de retorno de telas. A pré-busca permite que os usuários naveguem de volta para as telas anteriores pela primeira tela exibida pelo app.