Korzystanie z usługi Aparat na Androidzie

Usługa Aparat Androida obejmuje zestaw aparatów stosowanych w urządzeniach samochodowych, a także w innych formatach, takich jak telefony komórkowe, tablety i telewizory. Informacje o ogólnej architekturze kamery znajdziesz w sekcji Kamera. Ta strona skupia się na tematach związanych z urządzeniami samochodowymi i o obsłudze interfejsu Android Camera API.

Włączanie usługi aparatu Android

Aby włączyć usługę Aparat Android na platformie samochodowej, makefile produktu musi zawierać wartość ENABLE_CAMERA_SERVICE jako true.

Właściwości kamery związane z motoryzacją

W kontekście urządzeń samochodowych wartość HAL aparatu musi zawierać 2 cechy charakterystyczne charakterystyczne dla danego formatu urządzenia:

Nazwa Opis
android.automotive.location Określa położenie kamer w odniesieniu do nadwozia pojazdu.
android.automotive.lens.facing Określa kierunek, w którym skierowany jest obiektyw kamery względem nadwozia pojazdu i foteli pasażera.

W sytuacjach, gdy kamery nie są dokładnie ustawione w konkretnej lokalizacji lub orientacji obiektywu (na co wskazuje obecność znaku *_OTHER w cechach android.automotive.location lub android.automotive.lens.facing) albo gdy wiele aparatów znajduje się w tym samym miejscu i kierunku, HAL kamery powinna zawierać dodatkowe dane umożliwiające aplikacjom dokładne określenie jej lokalizacji. Te cechy to:

Przyznawanie dostępu użytkownikowi systemowemu bez interfejsu graficznego

Niektóre aplikacje systemowe i aplikacje własne mogą korzystać z aparatu jako Użytkownik systemowy bez interfejsu graficznego, czyli Użytkownik 0. Ta funkcja sprawia, że aplikacje o istotnym znaczeniu dla bezpieczeństwa, takie jak kamera tylna, mogą kontynuować strumieniowanie z kamery bez zakłóceń, niezależnie od przełączania się przez użytkownika na pierwszym planie. Dostęp do aparatu jako Użytkownik 0 mają tylko aplikacje podpisane przez platformę i mające nowe uprawnienie android.permission.CAMERA_HEADLESS_SYSTEM_USER.

W przypadku aplikacji, które korzystają z aparatu jako Użytkownik 0, dane z kamery MUSZĄ być wykorzystywane lokalnie i NIE MOGĄ być przesyłane poza urządzenie (w tym dane uzyskane na podstawie danych kamery). Te aplikacje wymagają, aby uprawnienie android.permission.CAMERA zostało przyznane wstępnie. Muszą też przestrzegać zasad dotyczących wstępnego przyznawania uprawnień opisanych w dokumentacji Projektowanie z myślą o prowadzeniu dotyczącej wymagań dotyczących GAS.

Konfigurowanie listy dozwolonych ustawień prywatności aparatu

Producenci oryginalnego sprzętu (OEM) mogą teraz skonfigurować konkretne aplikacje do obsługi aparatu, aby znalazły się na liście dozwolonych aplikacji, która przyznaje dostęp do aparatu niezależnie od stanu przełącznika prywatności aparatu. Ta funkcja umożliwia użytkownikom wyłączenie dostępu do aparatu w przypadku aplikacji rozrywkowych, takich jak media społecznościowe czy aplikacje do wideokonferencji, przy jednoczesnym zezwoleniu na dostęp do aparatu w przypadku niektórych aplikacji z listy dozwolonych.

Z tej funkcji mogą korzystać tylko aplikacje systemowe i aplikacje z podwyższonymi uprawnieniami, które otrzymały uprawnienie android.permission.CAMERA_PRIVACY_ALLOWLIST. Partnerzy usług Google Automotive (GAS) muszą przesłać aplikacje z listy dozwolonych do sprawdzenia i zastosować się do zasad dotyczących listy dozwolonych. Więcej informacji znajdziesz w artykule Android w samochodach.

Dodawanie aplikacji do listy dozwolonych

W katalogu etc/sysconfig:

  1. Dodaj nazwę pakietu aplikacji w pliku XML konfiguracji systemu:

    <!-- In an xml file under etc/sysconfig —>
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on for these packages as OEM requires camera access for these packages to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. Dodaj do AndroidManifest.xml adres URL polityki prywatności aplikacji. Nazwa meta-data powinna być privacy_policy.

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

Domyślnie przełącznik prywatności kamery w przypadku aplikacji z listy dozwolonych i wymaganych jest ukryty w interfejsie Ustawień prywatności. Producenci OEM mogą jednak zmienić to zachowanie, ustawiając flagę na TRUE. Dzięki temu OEM może dostosować widoczność przełącznika prywatności kamery w wymaganych aplikacjach zgodnie z własnymi preferencjami.

<!-- Whether to show the toggle to turn on the camera privacy for required apps -->

<bool name="config_show_camera_required_apps_toggle">false</bool>

Wcześniejszy dostęp do aparatu

Niektóre aplikacje, w przypadku których czas i bezpieczeństwo są ważne, mogą korzystać z aparatu jeszcze przed zakończeniem procesu uruchamiania Androida. Dostęp ten jest jednak przyznawany wyłącznie klientom uprzywilejowanym z poziomem dostępu UID AID_AUTOMOTIVE_EVS. Więcej informacji o przypisywaniu określonego identyfikatora UID do aplikacji natywnej znajdziesz w artykule Discretionary Access Control (DAC). Wcześniejszy dostęp do kamery jest ograniczony do kamer systemowych umieszczonych na zewnętrznej części karoserii.