ฟีเจอร์นี้ช่วยให้คุณควบคุมการเข้าถึงตำแหน่งของแอปตัวช่วยของผู้ขับที่รวมอยู่ใน Android และอยู่ในรายการที่อนุญาตแยกต่างหากได้โดยใช้สวิตช์ "ใช้ตำแหน่งสำหรับตัวช่วยของผู้ขับ" ซึ่งจะช่วยให้แอปเหล่านี้เข้าถึงตำแหน่งได้แม้ว่าสวิตช์ "ใช้ตำแหน่ง" จะปิดอยู่ก็ตาม
- Android 12 ไม่มี API สาธารณะสําหรับฟีเจอร์นี้ แอปผู้ช่วยคนขับควรขอการอัปเดตตำแหน่งตามปกติ
- Android 13 ขึ้นไปต้องส่งคำขอตำแหน่งเพื่อใช้
LocationManager.requestLocationUpdates()
และส่งออบเจ็กต์LocationRequest
ที่กําหนดค่าด้วยLocationRequest.setAdasGnssBypass(true)
ใช้ API เลี่ยงตำแหน่งตัวช่วยของผู้ขับ
ส่วนต่อไปนี้อธิบายวิธีใช้ API เลี่ยงตำแหน่งของความช่วยเหลือในการขับขี่ ดูข้อมูลเพิ่มเติมเกี่ยวกับนโยบายการใช้งานได้ที่นโยบายรายการที่อนุญาตการข้ามตำแหน่ง
ตรวจสอบสถานะสวิตช์ระบบช่วยเหลือผู้ขับขี่
ใน Android 13 ขึ้นไป คุณสามารถตรวจสอบสถานะสวิตช์ตัวช่วยของผู้ขับก่อนขอการอัปเดตตำแหน่งได้
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
เรียกใช้คำสั่ง Android Debug Bridge (ADB)
สําหรับการพัฒนาและการทดสอบ คุณสามารถตรวจสอบหรือเปลี่ยนสถานะของการสลับความช่วยเหลือด้านผู้ขับขี่ได้อย่างรวดเร็วโดยไม่ต้องใช้การตั้งค่าตำแหน่ง
- วิธีใช้คำสั่ง ADB เพื่อตรวจสอบหรือเปลี่ยนสถานะ
// Gets the status of ADAS location. adb shell cmd location is-adas-gnss-location-enabled // Enables ADAS location. adb shell cmd location set-adas-gnss-location-enabled true // Disables ADAS location. adb shell cmd location set-adas-gnss-location-enabled false
กำหนดสิทธิ์
ดูข้อมูลต่อไปนี้สำหรับรุ่น Android ที่เจาะจง
- ใน Android 12 แอปความช่วยเหลือในการขับขี่ต้องมีสิทธิ์ WRITE_SECURE_SETTINGS
- ใน Android 13 ขึ้นไป คุณต้องมีสิทธิ์
LOCATION_BYPASS
เพิ่มแอปไปยังรายการที่อนุญาตในอุปกรณ์
ในไดเรกทอรี etc/sysconfig
ให้ทำดังนี้
- เพิ่มชื่อแพ็กเกจของแอปในไฟล์ XML การกำหนดค่าระบบ โดยทำดังนี้
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
เพิ่มชื่อแพ็กเกจลงใน config_locationDriverAssistancePackageNames
เพื่อให้แพ็กเกจปรากฏใน UI การตั้งค่าตำแหน่ง
เพิ่ม URL ของการเปิดเผยนโยบายความเป็นส่วนตัวของแอปลงใน AndroidManifest.xml
ชื่อของข้อมูลเมตาควรเป็น privacy_policy
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
นำ "สวิตช์ใช้ตำแหน่งสำหรับตัวช่วยของผู้ขับ" ออก
หากไม่มีแอปตัวช่วยของผู้ขับขี่ที่ทำงานด้วยตำแหน่งซึ่งขอตำแหน่งจาก Android คุณสามารถยกเลิกการคอมเมนต์บล็อกโค้ดเพื่อนำสวิตช์สำหรับการตั้งค่าตำแหน่งออก
- เปิด
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
แล้วยกเลิกการคอมเมนต์โค้ดต่อไปนี้<com.android.car.ui.preference.CarUiTwoActionSwitchPreference android:fragment="com.android.car.settings.location.AdasLocationFragment" android:key="@string/pk_location_driver_assistance_state_switch" android:title="@string/location_driver_assistance_toggle_title" android:summary="@string/location_driver_assistance_toggle_summary" settings:controller="com.android.car.settings.location.AdasLocationSwitchPreferenceController" settings:searchable="true"/> <com.android.car.settings.common.DividerPreference/>
- หลังจากถอดสวิตช์แล้ว ให้ตั้งค่า
config_defaultAdasGnssLocationEnabled
เป็นfalse
เรียกใช้ชุดทดสอบยานยนต์
Google ให้บริการทดสอบชุดทดสอบยานยนต์ (ATS) ซึ่งช่วยให้มั่นใจได้ว่าแพ็กเกจความช่วยเหลือด้านผู้ขับขี่ทั้งหมดในอุปกรณ์อยู่ในรายการที่อนุญาตของ Google การทดสอบได้รับการกําหนดค่าจากระยะไกล คุณไม่จำเป็นต้องรอจนถึงรุ่น ATS ถัดไปเพื่อเพิ่มแพ็กเกจใหม่ ดูข้อมูลเพิ่มเติมได้ที่ Complete Automotive Tests in a Box