واجهة برمجة تطبيقات تجاوز موقع السيارات

تسمح هذه الميزة بالتحكم في الوصول إلى الموقع لتطبيقات مساعدة السائق المدرجة في القائمة المسموح بها والمضمنة في Android بشكل منفصل عن طريق مفتاح "استخدام الموقع لمساعدة السائق". وهذا يمكّن هذه التطبيقات من الوصول إلى الموقع حتى عندما يكون مفتاح "استخدام الموقع" في وضع إيقاف التشغيل.

  • لا يوفر Android 12 واجهة برمجة تطبيقات عامة لهذه الميزة. يجب أن تطلب تطبيقات مساعدة السائق تحديثات الموقع كالمعتاد.
  • يجب على Android 13 والإصدارات الأحدث تقديم طلب موقع لاستخدام LocationManager.requestLocationUpdates() وتمرير كائن LocationRequest الذي تم تكوينه باستخدام LocationRequest.setAdasGnssBypass(true) .

استخدم واجهة برمجة تطبيقات تجاوز موقع مساعدة السائق

تصف الأقسام التالية كيفية استخدام واجهة برمجة تطبيقات تجاوز موقع مساعدة السائق. لمعرفة المزيد حول سياسة الاستخدام، راجع سياسة القائمة المسموح بها لتجاوز الموقع .

تحقق من حالة مفتاح مساعدة السائق

في نظام التشغيل 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
    

تعيين إذن

راجع ما يلي للحصول على إصدارات Android الخاصة بالإصدار:

  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 .

أضف عنوان URL الخاص بالكشف عن سياسة الخصوصية للتطبيق إلى 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 .

قم بتشغيل مجموعة اختبار السيارات

توفر Google اختبار مجموعة اختبارات السيارات (ATS)، والذي يضمن إدراج جميع حزم مساعدة السائق على الجهاز في القائمة المسموح بها لدى Google. تم تكوين الاختبار عن بعد. لا يتعين عليك الانتظار حتى إصدار ATS التالي لإضافة حزمة جديدة. يمكنك معرفة المزيد في اختبارات السيارات الكاملة في صندوق.