Kamery systemowe

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Na urządzeniach z systemem Android 11 lub nowszym platforma Android obsługuje kamery systemowe, czyli urządzenia z kamerami widoczne tylko dla procesów z uprawnieniem android.permission.SYSTEM_CAMERA i zwykłymi uprawnieniami do aparatu. Uprawnienie android.permission.SYSTEM_CAMERA , wprowadzone w systemie Android 11, ma poziom ochrony system|signature . Oznacza to, że tylko aplikacje zainstalowane na partycji systemowej z tym samym certyfikatem lub podpisane tym samym certyfikatem co system mogą otrzymać to uprawnienie. Publiczne aplikacje innych firm nie mają dostępu do kamer systemowych.

Kamery systemowe są przydatne dla producentów urządzeń, którzy chcą wdrożyć funkcje wymagające dostępu do kamery, ale także ograniczone do aplikacji uprzywilejowanych lub systemowych.

Ponieważ aplikacje systemowe, którym przyznano uprawnienie android.permission.SYSTEM_CAMERA , muszą również mieć uprawnienie android.permission.CAMERA , użytkownicy mogą cofnąć normalne uprawnienia CAMERA , aby uniemożliwić takiej aplikacji dostęp do kamer w urządzeniu.

Realizacja

Aby określone urządzenie z kamerą stało się kamerą systemową, warstwa HAL kamery musi reklamować ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA na swojej liście możliwości.

Aby utworzyć aplikację, która ma dostęp do kamery systemowej, należy ją umieścić na białej liście w pliku privapp-permissions.xml dla konkretnego urządzenia, który określa aplikacje, którym należy udzielić uprawnienia android.permission.SYSTEM_CAMERA .

Walidacja

Aby sprawdzić, czy aplikacja publiczna nie może wykryć żadnych kamer systemowych w urządzeniu, uruchom test android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS.

Wszystkie testy CTS kamer działają na urządzeniach z kamerami systemowymi.