Créer votre CarAppService et votre session

Votre application doit étendre la classe CarAppService et implémenter sa méthode onCreateSession, qui renvoie une instance Session correspondant à la connexion actuelle à l'hôte :

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

L'instance Session renvoie l'instance Screen à utiliser lorsque l'application est lancée pour la première fois :

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

Lorsque votre application automobile doit démarrer à partir d'un écran autre que l'écran Accueil ou Page de destination, par exemple lors de la gestion des liens profonds, vous pouvez utiliser ScreenManager.push avant de revenir de onCreateScreen pour préremplir une pile "Retour" d'écrans. Le pré-seeding permet aux utilisateurs de revenir aux écrans précédents à partir du premier écran affiché par votre application.