Ваше приложение должно расширять класс CarAppService и реализовывать его метод onCreateSession , который возвращает экземпляр Session , соответствующий текущему соединению с хостом:
class HelloWorldService : CarAppService() { override fun onCreateSession(sessionInfo: SessionInfo): Session { return HelloWorldSession() } // ... }
Экземпляр Session возвращает информацию о том, какой экземпляр Screen следует использовать при первом запуске приложения:
class HelloWorldSession : Session() { override fun onCreateScreen(intent: Intent): Screen { return HelloWorldScreen(carContext) } }
Когда вашему автомобильному приложению необходимо начинать работу с экрана, отличного от главного или посадочного экрана, например, при обработке прямых ссылок, вы можете использовать ScreenManager.push перед возвратом из onCreateScreen , чтобы предварительно заполнить стек предыдущих экранов. Предварительное заполнение позволяет пользователям возвращаться к предыдущим экранам с первого экрана, отображаемого вашим приложением.