Automotive Location Bypass API,Automotive Location Bypass API

این ویژگی اجازه می‌دهد تا دسترسی به مکان برنامه‌های کمک راننده فهرست مجاز، همراه با 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) را اجرا کنید

برای توسعه و آزمایش، می‌توانید بدون استفاده از تنظیمات مکان، وضعیت کلید کمک راننده را به سرعت بررسی یا تغییر دهید.

  1. برای استفاده از دستورات 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
    

مجوز را تنظیم کنید

برای نسخه‌های اندرویدی خاص به موارد زیر مراجعه کنید:

  1. در Android 12، برنامه‌های کمک راننده باید مجوز WRITE_SECURE_SETTINGS را داشته باشند.
  2. در Android نسخه 13 و بالاتر، مجوز LOCATION_BYPASS مورد نیاز است.

یک برنامه را به لیست مجاز دستگاه خود اضافه کنید

در دایرکتوری etc/sysconfig :

  1. نام بسته برنامه را در یک فایل XML پیکربندی سیستم اضافه کنید:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>
    

برای اطمینان از نمایش بسته شما در رابط کاربری تنظیمات مکان، نام بسته خود را به config_locationDriverAssistancePackageNames اضافه کنید.

نشانی اینترنتی افشای خط مشی رازداری برنامه را به AndroidManifest.xml اضافه کنید. نام متا داده باید privacy_policy باشد.

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

"استفاده از موقعیت مکانی برای سوئیچ کمک راننده" را بردارید

اگر برنامه کمک راننده مبتنی بر مکان ندارید که موقعیت مکانی را از Android درخواست می‌کند، می‌توانید برای حذف سوئیچ تنظیمات مکان، بلوک کد را نظر دهید.

  1. 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/>
    
  2. پس از حذف سوئیچ، config_defaultAdasGnssLocationEnabled را روی false قرار دهید.

مجموعه تست Automotive را اجرا کنید

Google یک تست مجموعه تست خودرو (ATS) ارائه می‌کند، که تضمین می‌کند همه بسته‌های کمک راننده در یک دستگاه در فهرست مجاز Google قرار گرفته‌اند. تست از راه دور پیکربندی شده است. برای افزودن یک بسته جدید نیازی نیست تا نسخه بعدی ATS منتظر بمانید. می‌توانید در بخش Complete Automotive Tests in a Box اطلاعات بیشتری کسب کنید.