Automotive Location Bypass API

この機能により、許可リストに登録された Android バンドルのドライバー サポート アプリによる位置情報へのアクセスを、「位置情報をドライバー サポートで使用する」スイッチによって個別に制御できます。これにより、「位置情報を使用する」スイッチがオフの場合でも、これらのアプリは位置情報にアクセスできます。

  • Android 12 では、この機能の公開 API は提供されていません。ドライバー サポート アプリは、通常どおり位置情報の更新をリクエストする必要があります。
  • Android 13 以降では、LocationManager.requestLocationUpdates() を使用して位置情報リクエストを行い、LocationRequest.setAdasGnssBypass(true) で構成された LocationRequest オブジェクトを渡す必要があります。

Driver Assistance Location Bypass API を使用する

次のセクションでは Driver Assistance Location Bypass 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
    

権限を設定する

バージョン固有の 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>
    

パッケージが位置情報の設定 UI に表示されるようにするには、パッケージ名を 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_defaultAdasGnssLocationEnabledfalse に設定します。

自動車用テストスイートを実行する

Google は自動車用テストスイート(ATS)テストを提供し、デバイス上のすべてのドライバー サポート パッケージが Google の許可リストに登録されていることを確認できるようにしています。テストはリモートで構成されます。新しいパッケージを追加するために、次の ATS リリースまで待つ必要はありません。詳しくは、Complete Automotive Tests in a Box をご覧ください。