2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
시스템 카메라
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Android 11 이상을 실행하는 기기의 Android 프레임워크는 android.permission.SYSTEM_CAMERA
권한과 일반 카메라 권한이 있는 프로세스에만 표시되는 카메라 기기인 시스템 카메라를 지원합니다.
Android 11에 도입된 android.permission.SYSTEM_CAMERA
권한의 보호 수준은 system|signature
입니다. 즉, 시스템과 동일한 인증서를 사용하여 시스템 파티션에 설치되거나 이 인증서로 서명된 앱에만 이 권한을 부여할 수 있습니다. 서드 파티 공개 앱은 시스템 카메라에 액세스할 수 없습니다.
시스템 카메라는 카메라에 액세스해야 하지만 권한이 있는 앱 또는 시스템 앱으로 제한되는 기능을 구현하려는 기기 제조업체에 유용합니다.
android.permission.SYSTEM_CAMERA
권한이 부여된 시스템 앱에는 android.permission.CAMERA
권한도 있어야 하므로, 사용자는 이러한 앱이 기기의 카메라에 액세스하는 것을 차단하도록 일반적인 CAMERA
권한을 취소할 수 있습니다.
구현
특정 카메라 기기를 시스템 카메라로 만들려면 카메라 HAL이 기능 목록에 ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
를 알려야 합니다.
시스템 카메라에 액세스할 수 있는 앱을 만들려면 android.permission.SYSTEM_CAMERA
권한이 부여되어야 하는 앱을 지정한 기기별 privapp-permissions.xml
파일의 허용 목록에 앱이 포함되어야 합니다.
유효성 검사
공개 앱에서 기기에 시스템 카메라가 없는 것을 확인하려면 android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS 테스트를 실행합니다.
모든 카메라 CTS 테스트는 시스템 카메라 기기에서 실행됩니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-26(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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."]]