โดยค่าเริ่มต้น บริการส่วนใหญ่ในรถยนต์เป็นบริการที่บังคับและเปิดใช้ตลอดเวลา อย่างไรก็ตาม คุณสามารถ กำหนดบริการในรถยนต์บางส่วนให้เป็นบริการ เสริม ได้ เนื่องจากบางฟีเจอร์อาจไม่ รองรับในรถยนต์บางรุ่น
รายการฟีเจอร์เสริม
ฟีเจอร์การควบคุมรถยนต์แบบเสริมที่คุณเปิดและปิดใช้ได้จะแสดงอยู่ในตารางด้านล่าง
| ฟีเจอร์การควบคุมรถยนต์ | ค่าสตริง |
|---|---|
| บริการ EVS ในรถยนต์ | car_evs_service |
| บริการ Keyguard แบบทดลองในรถยนต์ | experimental_car_keyguard_service |
| บริการนำทางในรถยนต์ | car_navigation_service |
| บริการเชื่อมต่อผู้โดยสารในรถยนต์ | car_occupant_connection_service |
| บริการเข้าถึงระยะไกลในรถยนต์ | car_remote_access_service |
| บริการอุปกรณ์ระยะไกลในรถยนต์ | car_remote_device_service |
| บริการวัดและส่งข้อมูลทางไกลในรถยนต์ | car_telemetry_service |
| บริการการแจ้งเตือนผู้ใช้ในรถยนต์ | com.android.car.user.CarUserNoticeService |
| บริการหน้าแรกของคลัสเตอร์ | cluster_home_service |
| บริการวินิจฉัย | diagnostic |
| บริการการรับรู้ว่ามีคนอยู่ | occupant_awareness |
| บริการตรวจสอบพื้นที่เก็บข้อมูล | storage_monitoring |
| บริการแผนที่ในรถยนต์ | vehicle_map_service |
เปิดและปิดใช้ฟีเจอร์การควบคุมรถยนต์
คุณสามารถควบคุมการรองรับฟีเจอร์ในบิลด์ได้ 2 วิธี ได้แก่ ใช้การซ้อนทับทรัพยากรรันไทม์ (RRO) หรือใช้ Vehicle ระดับชั้นการจัดการฮาร์ดแวร์โดยตรง (VHAL)
ใช้ RRO
ใช้การกำหนดค่าทรัพยากรที่ชื่อว่า config_allowed_optional_car_features ซึ่ง
แสดงฟีเจอร์เสริมทั้งหมดที่คุณเปิดใช้ได้ เมื่อบูตเครื่องรถยนต์เป็นครั้งแรก ระบบจะบันทึกฟีเจอร์เสริมที่เป็นไปได้ของรถยนต์
และเปิดใช้หาก VHAL ไม่ได้บล็อกฟีเจอร์ดังกล่าว
ดูข้อมูลเพิ่มเติมเกี่ยวกับ RRO ได้ที่
เปลี่ยนค่าทรัพยากรของแอปขณะรันไทม์
ใช้ VHAL
Vehicle Hardware Abstraction Layer (VHAL) จะควบคุมฟีเจอร์โดยทำหน้าที่เป็น
รายการที่บล็อกเพื่อปิดใช้ฟีเจอร์เสริมที่เฉพาะเจาะจง พร็อพเพอร์ตี้ VHAL ที่ชื่อว่า
DISABLED_OPTIONAL_FEATURES จะแสดงฟีเจอร์เสริมในการวางซ้อนที่จะ
ปิดใช้ หากพร็อพเพอร์ตี้นี้ไม่มีอยู่ ระบบจะเปิดใช้ฟีเจอร์เสริมทั้งหมดจาก
RRO ดูข้อมูลเพิ่มเติมเกี่ยวกับ VHAL ได้ที่
ภาพรวมของ VHAL
ใช้คำสั่งเชลล์การแก้ไขข้อบกพร่อง
วิธีที่ 3 ในการควบคุมฟีเจอร์เสริมที่จะเปิดหรือปิดใช้คือการใช้คำสั่งเชลล์ 2 คำสั่ง ซึ่งใช้ได้เฉพาะในบิลด์ user-debug และมีไว้สำหรับนักพัฒนาแอป ตารางใน
รายการฟีเจอร์เสริม จะมีค่าที่ใช้แทน
<FEATURE_STRING_VALUE>
วิธีเปิดใช้ฟีเจอร์
adb root; adb shell cmd car_service enable-feature <FEATURE_STRING_VALUE>; adb reboot
วิธีปิดใช้ฟีเจอร์
adb root; adb shell cmd car_service disable-feature <FEATURE_STRING_VALUE>; adb reboot
กำหนดฟีเจอร์ที่เปิดใช้
เมื่อแก้ไขข้อบกพร่องที่เกี่ยวข้องกับฟีเจอร์ที่เฉพาะเจาะจง การทราบว่าฟีเจอร์ใด
เปิดใช้อยู่และเหตุใดจึงเปิดใช้ฟีเจอร์นั้นอาจเป็นประโยชน์ หากต้องการดัมพ์ข้อมูล feature-related ให้เรียกใช้คำสั่งต่อไปนี้
adb shell dumpsys car_service --services CarFeatureController
คำสั่งนี้จะแสดงข้อมูลประเภทต่างๆ ดังที่แสดงด้านล่าง
| ค่า | คำอธิบาย |
|---|---|
mEnabledFeatures |
ฟีเจอร์ที่เปิดใช้อยู่ในปัจจุบัน |
mDefaultEnabledFeaturesFromConfig |
ฟีเจอร์เสริมที่แสดงอยู่ใน config_allowed_optional_car_features |
mDisabledFeaturesFromVhal |
ฟีเจอร์ที่ VHAL ระบุให้ปิดใช้ในพร็อพเพอร์ตี้ VHAL,
DISABLED_OPTIONAL_FEATURES. |
mPendingEnabledFeatures |
ฟีเจอร์ที่จะเปิดใช้เมื่อรีบูต |
mPendingDisabledFeatures |
ฟีเจอร์ที่จะปิดใช้หลังจากรีบูต |