Usługa aparatu Androida

Usługa aparatu na Androidzie (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ę aparatu znajdziesz w sekcji Aparat. Ta strona zawiera informacje na temat urządzeń samochodowych i korzystania z interfejsu Android Camera API.

Włączanie usługi aparatu na Androida

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

Cechy kamery samochodowej

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

Produkt 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 kilka kamer ma tę samą lokalizację i ten sam kierunek, warstwa HAL kamery powinna udostępniać dodatkowe charakterystyki, aby umożliwić aplikacjom dokładne określenie lokalizacji kamery. Do tych cech należą:

Przyznawanie dostępu użytkownikowi systemowemu bez interfejsu graficznego

Niektóre aplikacje systemowe i aplikacje własne (1P) mogą korzystać z 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ą nadal przesyłać strumieniowo obraz 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 sekcji Projektowanie z myślą o kierowcach w przypadku wymagań dotyczących 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 Google Automotive Services (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 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 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 Ustawień 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 uznaniowego (DAC). Ten wczesny dostęp do kamery jest ograniczony do kamer systemowych umieszczonych na zewnątrz pojazdu.