Usługa aparatu Androida

Usługa aparatu Androida (ACS) obejmuje stos aparatu używany w urządzeniach motoryzacyjnych, a także w innych formatach, takich jak telefony komórkowe, tablety i telewizory. Ogólną architekturę kamery znajdziesz w sekcji Kamera. Na tej stronie znajdziesz informacje na temat urządzeń samochodowych i korzystania z interfejsu Android Camera API.

Włącz usługę aparatu Androida

Aby włączyć usługę aparatu na Androida na platformie motoryzacyjnej, w pliku makefile produktu musi być określona wartość ENABLE_CAMERA_SERVICE jako true.

Cechy kamer samochodowych

W przypadku urządzeń samochodowych interfejs HAL aparatu musi zawierać 2 cechy charakterystyczne dla tego typu urządzeń:

Element Opis
android.automotive.location Określa położenie kamer względem ramy pojazdu.
android.automotive.lens.facing Określa kierunek, w którym skierowany jest obiektyw kamery względem ramy nadwozia pojazdu i siedzeń pasażerów.

W sytuacjach, gdy kamery nie są dokładnie dopasowane do określonej lokalizacji lub orientacji obiektywu (wskazuje na to obecność symbolu *_OTHER w charakterystykach android.automotive.location lub android.automotive.lens.facing) albo gdy wiele kamer ma tę samą lokalizację i ten sam kierunek, HAL kamery powinien udostępniać dodatkowe charakterystyki, aby umożliwić aplikacjom dokładne określenie lokalizacji kamery. Te cechy obejmują:

Przyznawanie dostępu użytkownikowi systemowemu bez interfejsu graficznego

Niektóre aplikacje systemowe i aplikacje własne (1P) mogą uzyskiwać dostęp do aparatu jako użytkownik systemowy bez interfejsu graficznego, zwany też użytkownikiem 0. Pomaga to sprawdzić, czy aplikacje o krytycznym znaczeniu dla bezpieczeństwa, takie jak kamera cofania, mogą kontynuować strumieniowanie obrazu z kamery bez przerw, niezależnie od tego, czy użytkownik przełącza się na inne aplikacje. Tylko aplikacje podpisane na platformie i mające nowe uprawnieniaandroid.permission.CAMERA_HEADLESS_SYSTEM_USER mogą uzyskać dostęp do aparatu jako użytkownik 0.

W przypadku aplikacji, które uzyskują dostęp do kamer jako użytkownik 0, dane z kamery MUSZĄ być wykorzystywane lokalnie i NIE MOGĄ być przesyłane poza urządzenie, w tym żadne dane pochodne. Wymagają one wstępnego przyznania android.permission.CAMERAuprawnień i muszą być zgodne z zasadami dotyczącymi wstępnego przyznawania uprawnień opisanymi w wymaganiach dotyczących funkcji zaprojektowanych z myślą o kierowcach w przypadku wbudowanych usług Google.

Konfigurowanie listy dozwolonych aplikacji, które mogą korzystać z kamery

Producenci oryginalnego sprzętu (OEM) mogą teraz konfigurować określone aplikacje aparatu, aby umieszczać je 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 i aplikacje do wideokonferencji, a jednocześnie zezwala 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órym przyznano uprawnienie android.permission.CAMERA_PRIVACY_ALLOWLIST. Partnerzy Usług motoryzacyjnych Google (GAS) muszą przesyłać swoje aplikacje na listę dozwolonych do sprawdzenia i przestrzegać zasad dotyczących listy dozwolonych w zakresie prywatności. Więcej informacji znajdziesz w artykule Android do samochodu.

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 can't turn on
    privacy 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 mieć postać 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 lub wymaganych jest ukryty w interfejsie Ustawienia prywatności. Producenci OEM mogą jednak zmienić to zachowanie, ustawiając ten flagę na true. Dzięki temu producenci OEM mogą dostosowywać widoczność przełącznika prywatności aparatu w wymaganych aplikacjach zgodnie ze swoimi 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>

Uzyskiwanie wcześniejszego dostępu do aparatu

Określone aplikacje, które są wrażliwe na czas i związane z bezpieczeństwem, mogą uzyskać dostęp do kamery przed zakończeniem procesu uruchamiania Androida. Ten dostęp jest jednak przyznawany wyłącznie klientom uprzywilejowanym z UID AID_AUTOMOTIVE_EVS. Więcej informacji o przypisywaniu konkretnego identyfikatora UID do aplikacji systemowej znajdziesz w artykule Kontrola dostępu według uznania (DAC). Ten wczesny dostęp do kamery jest ograniczony do kamer systemowych umieszczonych na zewnątrz pojazdu.