دوربین‌های سیستم

در دستگاه‌های دارای Android نسخه ۱۱ یا بالاتر، چارچوب Android از دوربین‌های سیستم پشتیبانی می‌کند. این دوربین‌ها دستگاه‌های دوربینی هستند که فقط برای فرایندهای دارای اجازه android.permission.SYSTEM_CAMERA و اجازه‌های دوربین معمولی قابل‌مشاهده هستند. اجازه android.permission.SYSTEM_CAMERA که در ‫Android 11 معرفی شده است، سطح محافظت system|signature دارد. این یعنی فقط برنامه‌هایی که در پارتیشن سیستم نصب شده‌اند یا با گواهینامه یکسان با سیستم امضا شده‌اند می‌توانند این اجازه را دریافت کنند. برنامه‌های عمومی طرف سوم نمی‌توانند به دوربین‌های سیستم دسترسی داشته باشند.

دوربین‌های سیستم برای سازندگان دستگاه که می‌خواهند ویژگی‌هایی را پیاده‌سازی کنند که نیاز به دسترسی به دوربین دارند اما همچنین به برنامه‌های ممتاز یا سیستم محدود می‌شوند مفید است.

ازآنجایی‌که برنامه‌های سیستم که اجازه android.permission.SYSTEM_CAMERA به آن‌ها داده شده است باید اجازه android.permission.CAMERA را نیز داشته باشند، کاربران می‌توانند اجازه‌های CAMERA معمولی را لغو کنند تا از دسترسی چنین برنامه‌ای به دوربین‌های دستگاه جلوگیری کنند.

پیاده‌سازی

برای تبدیل یک دستگاه دوربین خاص به دوربین سیستم، HAL دوربین باید ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA را در فهرست قابلیت‌های خود تبلیغ کند.

برای ایجاد برنامه‌ای که به دوربین سیستم دسترسی دارد، برنامه باید در فایل privapp-permissions.xml مختص دستگاه در فهرست مجاز قرار بگیرد. این فایل برنامه‌هایی را که باید اجازه android.permission.SYSTEM_CAMERA به آن‌ها اعطا شود مشخص می‌کند.

اعتبارسنجی

برای تأیید اینکه هیچ دوربین سیستمی در دستگاه توسط برنامه عمومی قابل‌شناسایی نیست، آزمون android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS را اجرا کنید.

همه آزمایش‌های CTS دوربین در دستگاه‌های دوربین سیستم اجرا می‌شود.