A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Videocamere di sistema
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Sui dispositivi con Android 11 o versioni successive, il framework Android supporta le fotocamere di sistema, ovvero dispositivi con fotocamera visibili solo ai processi con l'autorizzazione android.permission.SYSTEM_CAMERA
e le autorizzazioni di accesso alla fotocamera standard.
L'autorizzazione android.permission.SYSTEM_CAMERA
, introdotta in Android 11, ha un livello di protezione system|signature
. Ciò significa che solo le app installate nella partizione di sistema con lo stesso certificato del sistema o firmate con lo stesso certificato possono ricevere questa autorizzazione. Le app pubbliche di terze parti non possono accedere alle videocamere di sistema.
Le videocamere di sistema sono utili per i produttori di dispositivi che vogliono implementare funzionalità che richiedono l'accesso a una videocamera, ma sono limitate anche alle app di sistema o privilegiate.
Poiché le app di sistema a cui è stata concessa l'autorizzazione android.permission.SYSTEM_CAMERA
devono disporre anche dell'autorizzazione android.permission.CAMERA
, gli utenti possono scegliere di revocare le normali autorizzazioni CAMERA
per impedire a un'app di questo tipo di accedere alle videocamere sul dispositivo.
Implementazione
Per fare in modo che un determinato dispositivo della videocamera sia una videocamera di sistema, l'HAL della videocamera deve annunciarla come ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
nell'elenco delle funzionalità.
Per creare un'app che abbia accesso a una fotocamera di sistema, l'app deve essere inserita nella lista consentita nel file privapp-permissions.xml
specifico del dispositivo, che specifica le app a cui deve essere concessa l'autorizzazione android.permission.SYSTEM_CAMERA
.
Convalida
Per verificare che nessuna videocamera di sistema sul dispositivo possa essere rilevata da un'app pubblica, esegui il
android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
test CTS.
Tutti
i test CTS della fotocamera
vengono eseguiti sui dispositivi con fotocamera di sistema.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]