إنشاء CarAppService والجلسة

يجب أن يوسّع تطبيقك فئة 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());
  }
  ...
}

عندما يحتاج تطبيق السيارة إلى البدء من شاشة غير الشاشة الرئيسية أو شاشة الصفحة المقصودة، مثلاً عند التعامل مع الروابط لصفحات معيّنة في التطبيق، يمكنك استخدام ScreenManager.push قبل الرجوع من onCreateScreen لملء حزمة سابقة من الشاشات. تتيح عملية التعبئة المسبقة للمستخدمين الرجوع إلى الشاشات السابقة من الشاشة الأولى التي يعرضها تطبيقك.