บริการกล้องของ Android

Android Camera Service (ACS) ประกอบด้วยสแต็กกล้องที่ใช้ในอุปกรณ์ยานยนต์ รวมถึงอุปกรณ์รูปแบบอื่นๆ เช่น โทรศัพท์มือถือ แท็บเล็ต และ ทีวี ดูสถาปัตยกรรมกล้องโดยรวมได้ที่กล้อง หน้านี้จะเน้น หัวข้อที่เกี่ยวข้องกับอุปกรณ์ยานยนต์โดยเฉพาะ และการทำงานกับ Android Camera API

เปิดใช้บริการกล้องของ Android

หากต้องการเปิดใช้บริการกล้องของ Android ในแพลตฟอร์มยานยนต์ Makefile ของผลิตภัณฑ์ต้องระบุ ENABLE_CAMERA_SERVICE เป็น true

ลักษณะเฉพาะของกล้องสำหรับยานยนต์

ในบริบทของอุปกรณ์ยานยนต์ HAL ของกล้องต้องมีลักษณะเฉพาะ 2 อย่าง ที่แตกต่างกันซึ่งเจาะจงสำหรับรูปแบบยานยนต์ ดังนี้

รายการ คำอธิบาย
android.automotive.location ระบุตำแหน่งของกล้องถ่ายรูปที่สัมพันธ์กับเฟรมตัวถังของยานพาหนะ
android.automotive.lens.facing ระบุทิศทางที่เลนส์กล้องหันไปสัมพันธ์กับกรอบตัวถังรถและที่นั่งผู้โดยสาร

ในกรณีที่กล้องไม่สอดคล้องกับตำแหน่งหรือเลนส์ที่เฉพาะเจาะจง (ระบุโดยการมี *_OTHER ในลักษณะของ android.automotive.location หรือ android.automotive.lens.facing ) หรือเมื่อกล้องหลายตัวใช้ตำแหน่งและ ทิศทางเดียวกัน HAL ของกล้องควรระบุลักษณะเพิ่มเติมเพื่อให้แอป กำหนดตำแหน่งของกล้องได้อย่างแม่นยำ ลักษณะเหล่านี้ ได้แก่

ให้สิทธิ์เข้าถึงแก่ผู้ใช้ระบบแบบไม่มีส่วนหัว

แอปบางแอปของระบบและแอปของบุคคลที่หนึ่ง (1P) สามารถเข้าถึงกล้องในฐานะผู้ใช้ระบบแบบไม่มีส่วนหัว หรือที่เรียกว่าผู้ใช้ 0 ซึ่งจะช่วยยืนยันว่าแอปที่มีความสำคัญต่อความปลอดภัย เช่น กล้องมองหลัง สามารถสตรีมกล้องต่อไปได้โดยไม่ หยุดชะงัก ไม่ว่าผู้ใช้จะสลับแอปที่อยู่เบื้องหน้าหรือไม่ก็ตาม เฉพาะแอปที่ แพลตฟอร์มลงนามและมีสิทธิ์ใหม่ android.permission.CAMERA_HEADLESS_SYSTEM_USER เท่านั้นที่จะเข้าถึงกล้องในฐานะผู้ใช้ 0 ได้

สำหรับแอปที่เข้าถึงกล้องในฐานะผู้ใช้ 0 จะต้องใช้ข้อมูลกล้องในเครื่อง และต้องไม่ส่งข้อมูลออกนอกอุปกรณ์ ซึ่งรวมถึงข้อมูลใดๆ ที่ได้มาจาก ข้อมูลกล้อง แอปเหล่านี้กำหนดให้ต้องมีการให้android.permission.CAMERAสิทธิ์ ล่วงหน้า และต้องปฏิบัติตามนโยบายสิทธิ์ที่ให้ล่วงหน้าที่ระบุไว้ในออกแบบเพื่อการขับขี่สำหรับข้อกำหนดในตัวของ Google

กำหนดค่ารายการที่อนุญาตสำหรับความเป็นส่วนตัวของกล้อง

ตอนนี้ผู้ผลิตอุปกรณ์ดั้งเดิม (OEM) สามารถกำหนดค่าแอปกล้องที่เฉพาะเจาะจง เพื่อรวมไว้ในรายการที่อนุญาตซึ่งให้สิทธิ์เข้าถึงกล้องได้โดยไม่คำนึงถึง สถานะของปุ่มเปิด/ปิดความเป็นส่วนตัวของกล้อง ฟีเจอร์นี้ช่วยให้ผู้ใช้ปิดใช้สิทธิ์เข้าถึงกล้อง สำหรับแอปเพื่อความบันเทิง เช่น โซเชียลมีเดียและวิดีโอคอนเฟอเรนซ์ พร้อมกับอนุญาตให้เข้าถึงกล้องสำหรับแอปบางแอปในรายการที่อนุญาต

มีเพียงแอปของระบบและแอปที่มีสิทธิ์ซึ่งได้รับandroid.permission.CAMERA_PRIVACY_ALLOWLISTสิทธิ์เท่านั้นที่ใช้ฟีเจอร์นี้ได้ พาร์ทเนอร์ของ Google Automotive Services (GAS) ต้องส่งแอปของตนใน รายการที่อนุญาตเพื่อรับการตรวจสอบและปฏิบัติตามนโยบายรายการที่อนุญาตด้านความเป็นส่วนตัว ดูข้อมูลเพิ่มเติมได้ที่ Android สำหรับรถยนต์

เพิ่มแอปไปยังรายการที่อนุญาต

ในetc/sysconfigไดเรกทอรี ให้ทำดังนี้

  1. เพิ่มชื่อแพ็กเกจของแอปในไฟล์ XML การกำหนดค่าระบบ

    <!-- In an xml file under etc/sysconfig ->
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users can't turn on
    privacy for these packages as OEM requires camera access for these packages
    to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. เพิ่ม URL ของการเปิดเผยนโยบายความเป็นส่วนตัวของแอปไปยัง AndroidManifest.xml ชื่อของ meta-data ควรเป็น privacy_policy

    <meta-data android:name="privacy_policy" android:value= privacy policy URL/>
    

โดยค่าเริ่มต้น ระบบจะซ่อนปุ่มเปิด/ปิดความเป็นส่วนตัวของกล้องสำหรับแอปในรายการที่อนุญาตหรือแอปที่จำเป็น ไว้ใน UI ของการตั้งค่าความเป็นส่วนตัว อย่างไรก็ตาม OEM สามารถลบล้างลักษณะการทำงานนี้ได้โดยตั้งค่าสถานะต่อไปนี้เป็น true ซึ่งช่วยให้ OEM ปรับแต่ง ระดับการมองเห็นของปุ่มเปิด/ปิดความเป็นส่วนตัวของกล้องสำหรับแอปที่จำเป็นตาม ค่ากำหนดของตนได้

<!-- Whether to show the toggle to turn on the camera privacy for required apps -->

<bool name="config_show_camera_required_apps_toggle">false</bool>

รับสิทธิ์เข้าถึงกล้องก่อนเปิดตัว

แอปที่คำนึงถึงความปลอดภัยและมีความเร่งด่วนเฉพาะจะเข้าถึงกล้องได้ก่อนที่กระบวนการบูต Android จะเสร็จสิ้น อย่างไรก็ตาม สิทธิ์เข้าถึงนี้จะมอบให้เฉพาะ ไคลเอ็นต์ที่มีสิทธิ์ซึ่งมี UID AID_AUTOMOTIVE_EVS เท่านั้น ดูข้อมูลเพิ่มเติม เกี่ยวกับการกำหนด UID ที่เฉพาะเจาะจงให้กับแอปของระบบได้ที่ การควบคุมการเข้าถึงแบบเลือก (DAC) การเข้าถึงกล้องก่อนเปิดตัวนี้ จำกัดเฉพาะกล้องของระบบที่อยู่ภายนอกตัวถังของยานพาหนะ