您的应用必须扩展 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 预先植入屏幕的返回堆栈。预先植入可让用户从应用显示的第一个屏幕导航回之前的屏幕。