CarAppService 및 세션 만들기

앱은 CarAppService 클래스를 확장하고 현재 호스트 연결에 상응하는 Session 인스턴스를 반환하는 onCreateSession 메서드를 구현해야 합니다.

Kotlin

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

자바

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

Session 인스턴스는 앱이 처음 시작될 때 사용할 Screen 인스턴스를 반환합니다.

Kotlin

class HelloWorldSession : Session() {
  ...
  override fun onCreateScreen(intent: Intent): Screen {
      return HelloWorldScreen(carContext)
  }
  ...
}

자바

public final class HelloWorldSession extends Session {
  ...
  @Override
  @NonNull
  public Screen onCreateScreen(@NonNull Intent intent) {
      return new HelloWorldScreen(getCarContext());
  }
  ...
}

자동차 앱이 또는 랜딩 화면이 아닌 화면에서 시작되어야 하는 경우(예: 딥 링크 처리) onCreateScreen에서 반환하기 전에 ScreenManager.push를 사용하여 화면의 백 스택을 미리 시드할 수 있습니다. 미리 시드를 사용하면 사용자가 앱에서 표시하는 첫 화면에서 이전 화면으로 이동할 수 있습니다.