建立 CarAppService 和工作階段

應用程式必須擴充 CarAppService 類別,並實作其 onCreateSession 方法,該方法會傳回對應於目前主機連線的 Session 執行個體:

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

應用程式首次啟動時,Session 執行個體會傳回要使用的 Screen 執行個體:

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

如果車輛應用程式必須從「首頁」或「到達」畫面以外的畫面啟動 (例如處理深層連結時),您可以使用 ScreenManager.pushonCreateScreen 返回,預先填入畫面的返回堆疊。預先填入可讓使用者從應用程式顯示的第一個畫面返回先前的畫面。