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 obsługą 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.

Cechy kamery związane z motoryzacją

W kontekście urządzeń samochodowych interfejs HAL aparatu musi zawierać 2 charakterystyczne cechy związane z formatem samochodowym:

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 aparaty nie są dokładnie dopasowane do określonej lokalizacji lub orientacji obiektywu (co jest sygnalizowane przez obecność *_OTHERandroid.automotive.location lub android.automotive.lens.facing), lub gdy wiele aparatów ma tę samą lokalizację i kierunek, interfejs HAL aparatu powinien udostępnić dodatkowe cechy, aby umożliwić aplikacjom dokładne określenie lokalizacji aparatu. Do tych cech należą:

Przyznawanie dostępu użytkownikowi systemowemu bez interfejsu graficznego

Niektóre aplikacje systemowe i własne mogą korzystać z aparatu jako użytkownik systemowy bez interfejsu graficznego, czyli użytkownik 0. Ta funkcja zapewnia, że aplikacje krytyczne dla bezpieczeństwa, takie jak kamera cofania, mogą kontynuować strumieniowe przesyłanie danych z kamery bez przerwy, niezależnie od przełączania użytkowników na pierwszym planie. Dostęp do kamery jako Użytkownik 0 mają tylko aplikacje podpisane przez platformę i posiadające nowe uprawnienie.android.permission.CAMERA_HEADLESS_SYSTEM_USER

W przypadku aplikacji uzyskujących dostęp do kamery jako Użytkownik 0 dane z kamery MUSZĄ być wykorzystywane lokalnie i NIE MOGĄ być przesyłane poza urządzenie, w tym żadne dane pochodzące z danych z 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, 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 uprawnieniami, które mają uprawnienia android.permission.CAMERA_PRIVACY_ALLOWLIST. Partnerzy korzystający z 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 aparatu w przypadku aplikacji dozwolonych lub wymaganych jest ukryty w interfejsie Ustawienia prywatności. Producenci OEM mogą jednak zmienić to zachowanie, ustawiając flagę na TRUE. Pozwala to producentom urządzeń dostosowywać widoczność przełącznika prywatności aparatu w wymaganych aplikacjach na podstawie ich preferencji.

<!-- 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 związane z bezpieczeństwem i czasem mogą uzyskać dostęp do kamery przed zakończeniem procesu uruchamiania Androida. Jednak dostęp ten jest przyznawany wyłącznie uprzywilejowanym klientom z poziomem dostępu UID AID_AUTOMOTIVE_EVS. Więcej informacji o przypisywaniu konkretnego identyfikatora UID do aplikacji natywnej znajdziesz w artykule Kontrola dostępu dyskrecjonalnego (DAC). Ten wczesny dostęp do kamery jest ograniczony do kamer systemowych umieszczonych na zewnętrznej części nadwozia pojazdu.