Automotive Location Bypass API

Bu özellik, izin verilenler listesindeki Android'e dahil sürüş yardımı uygulamalarının konum erişiminin "Sürüş yardımı için konumu kullan" anahtarıyla ayrı olarak kontrol edilmesini sağlar. Bu sayede, "Konumu kullan" anahtarı kapalıyken bile bu uygulamalar konuma erişebilir.

  • Android 12, bu özellik için herkese açık bir API sunmaz. Sürüş yardımı uygulamaları, konum güncellemelerini her zamanki gibi istemelidir.
  • Android 13 ve sonraki sürümlerde LocationManager.requestLocationUpdates() kullanmak için konum isteği gönderilmeli ve LocationRequest.setAdasGnssBypass(true) ile yapılandırılmış bir LocationRequest nesnesi iletilmelidir.

Sürüş yardımı konumunu atlama API'sini kullanma

Aşağıdaki bölümlerde, sürüş yardımı konumunu atlama API'sinin nasıl kullanılacağı açıklanmaktadır. Kullanım politikası hakkında daha fazla bilgi edinmek için Konum Atlamaya İzin Verilenler Listesi Politikası'nı inceleyin.

Sürüş yardımı anahtarının durumunu kontrol etme

Android 13 ve sonraki sürümlerde, konum güncellemeleri istemeden önce sürüş yardımı anahtarının durumunu kontrol edebilirsiniz.

// Returns the current status of "Use location for driver assistance".
locationManager.isAdasGnssLocationEnabled();

Android Debug Bridge (ADB) komutlarını çalıştırma

Geliştirme ve test için, Konum Ayarları'nı kullanmadan sürüş yardımı açma/kapatma düğmesinin durumunu hızlıca kontrol edebilir veya değiştirebilirsiniz.

  1. Durumu kontrol etmek veya değiştirmek için ADB komutlarını kullanmak istiyorsanız:
    // 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

İzni ayarla

Sürüme özel Android sürümleri için aşağıdakilere bakın:

  1. Android 12'de sürüş asistanı uygulamalarının WRITE_SECURE_SETTINGS iznine sahip olması gerekir.
  2. Android 13 ve sonraki sürümlerde LOCATION_BYPASS izni gerekir.

Cihazınızda izin verilenler listesine uygulama ekleme

etc/sysconfig dizininde:

  1. Uygulamanın paket adını bir sistem yapılandırması XML dosyasına ekleyin:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>

Paketinizin Konum Ayarları kullanıcı arayüzünde görünmesi için paket adınızı config_locationDriverAssistancePackageNames dosyasına ekleyin.

Uygulamanın gizlilik politikası açıklamasının URL'sini AndroidManifest.xml adresine ekleyin. Meta verilerin adı privacy_policy olmalıdır.

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

"Sürüş yardımı için konum kullan" anahtarını kaldırın.

Android'den konum isteyen, konum destekli bir sürüş yardımı uygulamanız yoksa kod bloğunu açıklama satırı yaparak Konum Ayarları anahtarını kaldırabilirsiniz.

  1. packages/apps/Car/Settings/res/xml/location_settings_fragment.xml dosyasını açın ve aşağıdaki kodu açıklama satırı yapın.
    <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. Anahtarı kaldırdıktan sonra config_defaultAdasGnssLocationEnabled değerini false olarak ayarlayın.

Otomotiv Test Paketi'ni çalıştırma

Google, bir cihazdaki tüm sürüş yardımı paketlerinin Google ile izin verilenler listesine eklendiğinden emin olmak için Otomotiv Test Paketi (ATS) testi sunar. Test uzaktan yapılandırılır. Yeni bir paket eklemek için bir sonraki ATS sürümünü beklemeniz gerekmez. Complete Automotive Tests in a Box sayfasından daha fazla bilgi edinebilirsiniz.