Создайте свой CarAppService и сеанс.

Ваше приложение должно расширять класс CarAppService и реализовывать его метод onCreateSession , который возвращает экземпляр Session , соответствующий текущему соединению с хостом:

Котлин

class HelloWorldService : CarAppService() {
  ...
  override fun onCreateSession(): Session {
      return HelloWorldSession()
  }
  ...
}

Java

public final class HelloWorldService extends CarAppService {
  ...
  @Override
  @NonNull
  public Session onCreateSession() {
      return new HelloWorldSession();
  }
  ...
}

Экземпляр Session возвращает информацию о том, какой экземпляр Screen следует использовать при первом запуске приложения:

Котлин

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

Когда вашему автомобильному приложению необходимо начинать работу с экрана, отличного от главного или посадочного экрана, например, при обработке прямых ссылок, вы можете использовать ScreenManager.push перед возвратом из onCreateScreen , чтобы предварительно заполнить стек предыдущих экранов. Предварительное заполнение позволяет пользователям возвращаться к предыдущим экранам с первого экрана, отображаемого вашим приложением.