हालाँकि, Google क्या सलाह देता है कि Camera2 Api> = 21 का उपयोग करें, लेकिन आपको मैन्युअल सेटिंग में समस्या हो सकती है।
जब आपको ऑटो सेटिंग मोड के साथ फ़ोटो लेने के लिए एप्लिकेशन को लागू करने की आवश्यकता होती है, तो यह ठीक काम करेगा। परंतु! अगर API> = 21 वाले उपकरणों के लिए मैन्युअल सेटिंग मोड कार्यान्वयन के साथ ऐप बनाने की आवश्यकता है, तो सबसे पहले, समर्थित हार्डवेयर स्तर की जाँच करें:
कैमरा (फ्रंट, फेस) चुनें, इसे विशेषताओं को प्राप्त करें और हार्डवेयर स्तर की जांच करें।
mCameraCharacteristics = mCameraManager.getCameraCharacteristics(mCameraId)
val level = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)
CameraCharacteristics अगले समर्थित स्तरों का प्रतिनिधित्व करते हैं: सीमित, पूर्ण, कानूनी, LEVEL_3, बाहरी।
एक उच्च स्तर पर, स्तर हैं:
लीगेसी डिवाइस पुराने एंड्रॉइड डिवाइसों के लिए एक बैकवर्ड-संगतता मोड में काम करते हैं, और बहुत सीमित क्षमताएं हैं।
सीमित डिवाइस बेसलाइन फीचर सेट का प्रतिनिधित्व करते हैं, और इसमें अतिरिक्त क्षमताएं भी शामिल हो सकती हैं जो कि FULL के सबसेट हैं।
पूर्ण उपकरण अतिरिक्त रूप से सेंसर, फ्लैश, लेंस और पोस्ट-प्रोसेसिंग सेटिंग्स, और उच्च दर पर छवि कैप्चर के प्रति-फ्रेम मैनुअल नियंत्रण का समर्थन करते हैं।
LEVEL_3 डिवाइस अतिरिक्त आउटपुट स्ट्रीम कॉन्फ़िगरेशन के साथ-साथ YUV रीप्रोसेसिंग और RAW इमेज कैप्चर का समर्थन करते हैं।
यदि आपको लीगेसी सपोट स्तर मिला है, तो आपको पुराने कैमरा एप का उपयोग करना चाहिए ।