मुझे हाल ही में फ्लैशलाइट के सबसे हालिया मार्शमलो बिल्ड में कैमरे के बारे में कोई समस्या है। कोई भी पहले से Marshmallow संस्करण पर सब मैं/बंद फ्लैश चालू करने के लिए क्या करने की जरूरत पीछा कर रहा था:मार्शमलो में फ्लैशलाइट नियंत्रण
private void turnFlashOn(final Camera camera, int flashLightDurationMs) {
if (!isFlashOn()) {
final List<String> supportedFlashModes = camera.getParameters().getSupportedFlashModes();
if (supportedFlashModes != null && supportedFlashModes.contains(Camera.Parameters.FLASH_MODE_TORCH)) {
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(mParams);
}
}
}
और
private void turnFlashOff(Camera camera) {
if (camera != null) {
final List<String> supportedFlashModes = camera.getParameters().getSupportedFlashModes();
if (supportedFlashModes != null && supportedFlashModes.contains(Camera.Parameters.FLASH_MODE_OFF)) {
mParams.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(mParams);
}
}
}
दुर्भाग्य से, Marshmallow उपकरणों जंगल में दुर्घटना के लिए शुरू किया।
RuntimeException: किसी तरह
camera.getParameters()
औरcamera.setParameters()
जैसे संदेश के साथ असफल करने के लिए शुरू getParameters में विफल रहा है (खाली पैरामीटर)RuntimeException: setParameters में विफल रहा है
मैं शुरू करने और प्राप्त करने से पहले पूर्वावलोकन रोक की कोशिश की पैरामीटर, जो अब त्रुटियों को फेंकता नहीं है। हालांकि जब मैं camera.startPreview()
पर कॉल करता हूं तो पूर्वावलोकन फिर से शुरू नहीं होता है।
मुझे कैमरे को रिहा करने का डर है और इसे फिर से खोलना सवाल से बाहर है क्योंकि इसमें कुछ सेकंड लगते हैं और खराब अनुभव पैदा करेंगे।
मार्शमलो में फ्लैशलाइट को चालू/बंद करने के तरीके पर कोई सुझाव विश्वसनीय रूप से?
मैं कैमरा अनुमति पहले से ही है। मैं 23 को लक्षित नहीं कर रहा हूं, इसलिए मुझे अभी तक रनटाइम अनुमतियों की जांच करने की आवश्यकता नहीं है, है ना? –
हां और नहीं। यदि आप 23 को लक्षित नहीं कर रहे हैं तो अनुमति पहले से ही दी जानी चाहिए। हालांकि, उपयोगकर्ता एक अक्षम में जा सकता है जो इंस्टॉल करने के बाद अनुमति देता है। उस स्थिति में, आपको जांच करनी होगी (यदि एपीआई 23 डिवाइस पर चल रहा है) चाहे आपके पास अनुमति है या नहीं। यदि आप ऐसा नहीं करते हैं क्योंकि उपयोगकर्ता ने इसे अस्वीकार कर दिया है, तो कैमरा एपीआई खाली या शून्य डेटा वापस कर सकता है। यह बात मार्शमलो के लिए अनुमतियों के बदलावों पर अधिक जानकारी प्रदान करेगी: https://youtu.be/WGz-alwVh8A?list=PLnVy79PaFHMUqqvwbjyKJZv1N8rzHOCBi –
आप सही हैं, वास्तव में यह मामला है। हालांकि ऐप अनुमोदित अनुमतियों के साथ भी दुर्घटनाग्रस्त हो जाता है, इसलिए ऐसा लगता है कि कैमरा एपीआई से संबंधित कुछ बदल गया है और लॉलीपॉप या किटकैट में इसके मुकाबले अलग-अलग व्यवहार करता है। –