创建 CarAppService 和 Session

您的应用必须扩展 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());
  }
  ...
}

当汽车应用必须从不是屏幕或着陆屏幕的屏幕启动时(例如在处理深层链接时),您可以在从 onCreateScreen 返回之前使用 ScreenManager.push 预先植入屏幕的返回堆栈。预先植入可让用户从应用显示的第一个屏幕导航回之前的屏幕。