Cómo crear tu CarAppService y Session

Tu app debe extender la clase CarAppService e implementar su método onCreateSession, que devuelve una instancia de Session que corresponde a la conexión actual al host:

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

La instancia de Session muestra qué instancia de Screen se debe usar cuando se inicia la app por primera vez:

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

Cuando tu app para vehículos debe iniciarse desde una pantalla que no sea la de Inicio o Destino, como cuando se controlan vínculos directos, puedes usar ScreenManager.push antes de regresar de onCreateScreen para completar previamente una pila de actividades de pantallas. Esta acción previa permite a los usuarios volver a las pantallas anteriores desde la primera pantalla que muestre tu app.