A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Câmeras do sistema
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Em dispositivos com o Android 11 ou versões mais recentes, o framework
do Android oferece suporte a câmeras
do sistema, que são dispositivos de câmera visíveis apenas para processos com a
permissão android.permission.SYSTEM_CAMERA
e permissões normais de câmera.
A permissão android.permission.SYSTEM_CAMERA
, introduzida no
Android 11, tem
um nível de proteção de system|signature
. Isso significa que apenas os apps instalados na
partição do sistema com ou assinados com o mesmo certificado do sistema podem
receber essa permissão. Os apps públicos de terceiros não podem acessar as câmeras do sistema.
As câmeras do sistema são úteis para fabricantes de dispositivos que querem implementar
recursos que exigem acesso a uma câmera, mas também são restritos a apps
privilegiados ou do sistema.
Como os apps do sistema que recebem a permissão
android.permission.SYSTEM_CAMERA
também precisam ter a
android.permission.CAMERA
, os usuários podem revogar permissões normais de CAMERA
para impedir
que esse app acesse as câmeras no dispositivo.
Implementação
Para tornar um dispositivo de câmera específico uma câmera do sistema, a HAL da câmera precisa
anunciar
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
na lista de recursos.
Para criar um app que tenha acesso a uma câmera do sistema, ele precisa estar na lista de permissões
no arquivo privapp-permissions.xml
específico do dispositivo, que especifica os apps
para os quais a permissão
android.permission.SYSTEM_CAMERA
precisa ser concedida.
Validação
Para verificar se nenhuma câmera do sistema no dispositivo pode ser descoberta por um app
público, execute o
teste android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS.
Todos os
testes CTS da câmera
são executados em dispositivos de câmera do sistema.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-26 UTC."],[],[],null,["# System cameras\n\nOn devices running Android 11 or higher, the Android\nframework supports system\ncameras, which are camera devices that are visible only to processes with the\n`android.permission.SYSTEM_CAMERA` permission and regular camera permissions.\nThe `android.permission.SYSTEM_CAMERA` permission, introduced in\nAndroid 11, has\na protection level of `system|signature`. This means that only apps installed on\nthe system partition with or signed with the same certificate as the system can\nbe granted this permission. Third-party public apps can't access system cameras.\n\nSystem cameras are useful for device manufacturers that want to implement\nfeatures that require access to a camera but are also restricted to privileged\nor system apps.\n\nBecause systems apps that are granted the\n`android.permission.SYSTEM_CAMERA` permission must also have the\n[`android.permission.CAMERA`](https://developer.android.com/reference/android/Manifest.permission#CAMERA)\npermission, users can choose to revoke normal `CAMERA` permissions to prevent\nsuch an app from accessing the cameras on the device.\n\nImplementation\n--------------\n\nTo make a particular camera device a system camera, the camera HAL must\nadvertise\n[`ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/camera/metadata/3.5/types.hal#120)\nin its capabilities list.\n\nTo create an app that has access to a system camera, the app must be allowlisted\nin the device-specific `privapp-permissions.xml` file, which specifies the apps\nthat the\n[`android.permission.SYSTEM_CAMERA`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/core/res/AndroidManifest.xml#1312)\npermission must be granted to.\n\nValidation\n----------\n\nTo verify that no system cameras on the device can be discovered by a public\napp, run the\n`android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery` CTS\ntest.\n\nAll\n[camera CTS tests](/docs/compatibility/cts/camera-hal#cts_tests)\nrun on system camera devices."]]