앱은 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를 사용하여 화면의 백 스택을 미리 시드할 수 있습니다. 미리 시드를 사용하면 사용자가 앱에서 표시하는 첫 화면에서 이전 화면으로 이동할 수 있습니다.