সিস্টেম ক্যামেরা

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 করতে হবে।

সিস্টেম ক্যামেরায় অ্যাক্সেস আছে এমন অ্যাপ তৈরি করতে, ডিভাইস-নির্দিষ্ট privapp-permissions.xml ফাইলে অ্যাপটিকে অবশ্যই হোয়াইটলিস্টেড হতে হবে। এর মাধ্যমে সেইসব অ্যাপ নির্দিষ্ট করা হয় যেগুলিতে android.permission.SYSTEM_CAMERA অনুমতি দিতে হবে।

যাচাইকরণ

ডিভাইসে কোনও সিস্টেম ক্যামেরা পাবলিক অ্যাপ দ্বারা ডিসকভার করা যায় না তা যাচাই করতে, android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery CTS টেস্ট রান করুন।

সব ক্যামেরা CTS টেস্ট সিস্টেম ক্যামেরা ডিভাইসে রান করে।