API การเชื่อมต่อ

หากต้องการตรวจสอบว่าแอปทำงานบน Android Auto หรือ Android Automotive OS หรือไม่ ให้ใช้ CarConnection API เพื่อดึงข้อมูลการเชื่อมต่อขณะรันไทม์ เช่น

  1. ใน Session ของแอปในรถ ให้เริ่มต้น CarConnection และสมัครรับข้อมูลอัปเดต LiveData ดังนี้

    Kotlin

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

    Java

    new CarConnection(getCarContext()).getType().observe(this, this::onConnectionStateUpdated);
    
  2. ใน Observer ให้ตอบสนองต่อการเปลี่ยนแปลงสถานะการเชื่อมต่อ

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