CarAppService und Session erstellen

Ihre App muss die Klasse CarAppService erweitern und die Methode onCreateSession implementieren, die eine Instanz Session zurückgibt, die der aktuellen Verbindung zum Host entspricht:

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

Die Session Instanz gibt zurück, welche Screen Instanz verwendet werden soll, wenn die App zum ersten Mal gestartet wird:

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

Wenn Ihre Auto-App auf einem anderen Bildschirm als dem Startbildschirm oder Begrüßungsbildschirm gestartet werden muss, z. B. beim Verarbeiten von Deeplinks, können Sie ScreenManager.push verwenden, bevor Sie von onCreateScreen zurückkehren, um einen Back-Stack von Bildschirmen vorab zu füllen. So können Nutzer von dem ersten Bildschirm, der in Ihrer App angezeigt wird, zu vorherigen Bildschirmen zurückkehren.