CarAppService und Session erstellen

Ihre App muss die Klasse CarAppService erweitern und ihre Methode onCreateSession implementieren, die eine Session-Instanz 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 an, 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 Bildschirm gestartet werden muss, der nicht der Startbildschirm oder der Landing-Screen ist, z. B. beim Verarbeiten von Deeplinks, können Sie ScreenManager.push verwenden, bevor Sie von onCreateScreen zurückkehren, um einen Backstack von Bildschirmen vorab zu erstellen. Durch Pre-Seeding können Nutzer vom ersten Bildschirm, der von Ihrer App angezeigt wird, zu vorherigen Bildschirmen zurückkehren.