Automotive Location Bypass API

Bu özellik, izin verilenler listesine eklenen, Android'e dahil sürüş yardımı uygulamalarının konum erişiminin "Sürüş yardımı için konumu kullan" anahtarı ile ayrı ayrı kontrol edilmesine olanak tanır. Bu sayede, "Konumu kullan" anahtarı kapalıyken bile bu uygulamalar konuma erişebilir.

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

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

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

Sürücü 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, sürücü yardımı açma/kapatma düğmesinin durumunu Konum Ayarları'nı kullanmadan hızlıca kontrol edebilir veya değiştirebilirsiniz.

  1. Durumu kontrol etmek veya değiştirmek için ADB komutlarını kullanmak üzere:
    // 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ücü yardımı uygulamalarının WRITE_SECURE_SETTINGS iznine sahip olması gerekir.
  2. Android 13 ve sonraki sürümlerde LOCATION_BYPASS izni gerekir.

Cihazınızdaki 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ünmesini sağlamak için paket adınızı config_locationDriverAssistancePackageNames içine ekleyin.

Uygulamanın gizlilik politikası açıklamasının URL'sini AndroidManifest.xml alanına 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ücü yardımı uygulamanız yoksa konum ayarlarının anahtarını kaldırmak için kod bloğunu yorumlayabilirsiniz.

  1. packages/apps/Car/Settings/res/xml/location_settings_fragment.xml dosyasını açıp aşağıdaki kodun yorumunu kaldırı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ı çıkardıktan sonra config_defaultAdasGnssLocationEnabled değerini false olarak ayarlayın.

Otomotiv test paketini çalıştırma

Google, bir cihazdaki tüm sürücü yardımı paketlerinin Google'da izin verilenler listesine eklenmesini sağlayan bir Otomotiv test paketi (ATS) testi sağlar. Test uzaktan yapılandırılmıştır. Yeni bir paket eklemek için bir sonraki ATS sürümüne kadar beklemeniz gerekmez. Daha fazla bilgi edinmek için Complete Automotive Tests in a Box (Bir Kutuda Komple Otomotiv Testleri) başlıklı makaleyi inceleyin.