واجهة برمجة تطبيقات الاتصال

لتحديد ما إذا كان تطبيقك يعمل على Android Auto أو نظام التشغيل Android Automotive، استخدِم واجهة برمجة التطبيقات CarConnection لاسترداد معلومات الاتصال في وقت التشغيل. على سبيل المثال:

  1. في Session لتطبيق السيارة، عليك تهيئة CarConnection والاشتراك في آخر المعلومات الجديدة LiveData:

    Kotlin

    CarConnection(carContext).type.observe(this, ::onConnectionStateUpdated)
    

    Java

    new CarConnection(getCarContext()).getType().observe(this, this::onConnectionStateUpdated);
    
  2. في أداة المراقبة، عليك التفاعل مع التغييرات في حالة الاتصال:

    Kotlin

    fun onConnectionStateUpdated(connectionState: Int) {
      val message = when(connectionState) {
        CarConnection.CONNECTION_TYPE_NOT_CONNECTED -> "Not connected to a head unit"
        CarConnection.CONNECTION_TYPE_NATIVE -> "Connected to Android Automotive OS"
        CarConnection.CONNECTION_TYPE_PROJECTION -> "Connected to Android Auto"
        else -> "Unknown car connection type"
      }
      CarToast.makeText(carContext, message, CarToast.LENGTH_SHORT).show()
    }
    

    Java

    private void onConnectionStateUpdated(int connectionState) {
      String message;
      switch(connectionState) {
        case CarConnection.CONNECTION_TYPE_NOT_CONNECTED:
          message = "Not connected to a head unit";
          break;
        case CarConnection.CONNECTION_TYPE_NATIVE:
          message = "Connected to Android Automotive OS";
          break;
        case CarConnection.CONNECTION_TYPE_PROJECTION:
          message = "Connected to Android Auto";
          break;
        default:
          message = "Unknown car connection type";
          break;
      }
      CarToast.makeText(getCarContext(), message, CarToast.LENGTH_SHORT).show();
    }