إنشاء 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 لملء مسبقًا حزمة سابقة من الشاشات. تتيح عملية التعبئة المسبقة للمستخدمين الرجوع إلى الشاشات السابقة من الشاشة الأولى التي يعرضها تطبيقك.