2016-10-28 9 views
14

मैं एक बहुत बुरा स्थिति में हूँ पर गैलरी के लिए बचाता है ...Cordova कैमरा भी झूठी

मेरे क्लाइंट आयोनिक फ्रेमवर्क v1 में एक कॉर्डोबा आवेदन करना चाहता है, और यह जरूरी है कि कैमरे गैलरी में चित्र को बचाने नहीं करता है। हालांकि, जब मैं झूठी को गैलरी में सहेजने के लिए पैरामीटर सेट करता हूं, तो यह अभी भी गैलरी में सहेज रहा है।

जब आप कोई फ़ोटो लेते हैं और इसे रद्द करते हैं तो समस्या एंड्रॉइड पर होती है। यह उस तस्वीर को गैलरी में सहेजता है और कभी-कभी उसके बाद अन्य सभी चित्रों को भी बचाता है।

मैं वास्तव में किसी भी प्रकार की सहायता का स्वागत करता हूं; मुझे अब तक जो कुछ मिला है, वे कुछ समाधान हैं जिन्हें मुझे समझना मुश्किल लगता है क्योंकि जावा का मेरा ज्ञान शून्य है।

यहाँ मेरी जे एस कोड

function capturePhoto() { 
    var maxDimension = 1280; 
    var options = { 
     quality: 80, 
     destinationType: Camera.DestinationType.DATA_URL, 
     sourceType: Camera.PictureSourceType.CAMERA, 
     correctOrientation: true, 
     targetWidth: maxDimension, 
     targetHeight: maxDimension, 
     saveToPhotoAlbum: false 

    }; 

यह कैमरा विकल्प के लिए है।

$cordovaCamera.getPicture(options).then(function (imageData) { 
     var src = "data:image/jpeg;base64," + imageData; 
     $scope.photoPreviewSrc = src; 
    }).catch(function (err) { 

    }); 
    } 
+0

मैं उलझन में हूं - यदि आप कॉर्डोवा ऐप कर रहे हैं तो जावा इसमें कहां आएगा? – EJoshuaS

+3

अच्छी तरह से प्लगइन एंड्रॉइड के लिए जावा में लिखा गया है ... तो शायद जावा ज्ञान वाले किसी व्यक्ति को पहले से ही इस समस्या के साथ कुछ था .. – revan1990

+0

मैंने इसे सत्यापित किया है, लेकिन यह अपेक्षा के अनुसार काम करता है। मैंने saveToGallery ध्वज को सत्य में सेट किया था। अगर मैं रद्द करता हूं, तो छवि सहेजी नहीं जाती है। जब मैंने ठीक पर क्लिक किया, तो छवि गैलरी में सहेजी गई। – vbharath

उत्तर

2

मैंने कॉर्डोवा का उपयोग करके आपके कोड से जांच की है। यह उम्मीद के अनुसार ठीक काम करता है। एक बार अपने डिवाइस को अन्य डिवाइस में सत्यापित करें।

मैंने इसे आयनिक मंच पर नहीं देखा है।

navigator.camera.cleanup(onSuccess, onFail); 

function onSuccess() { 
    console.log("Camera cleanup success.") 
} 

function onFail(message) { 
    alert('Failed because: ' + message); 
} 

the docs से::

+1

के साथ अपना प्रश्न अपडेट किया है जब आप savetogallery को गलत पर सेट करते हैं और इसे लेने के बाद तस्वीर को रद्द करते हैं, तो आप इसे गैलरी में सहेज नहीं पाएंगे? – revan1990

+0

नहीं। जब आप रद्द करते हैं, तो यह फिर से कैमरे को कैप्चर करने के लिए दिखाता है। छवि गैलरी में सहेजी नहीं है। इसे अन्य डिवाइस – vbharath

+0

में एक बार सत्यापित करें lg g4, सैमसंग एस 7 एज और अन्य एचटीसी डिवाइस पर वही व्यवहार .. – revan1990

0

आप छवि डेटा प्राप्त करने के बाद निम्नलिखित की तरह कुछ चलाने की कोशिश कर सकते हैं। "camera.cleanup()camera.getPicture बुला के बाद मध्यवर्ती छवि फ़ाइलों कि अस्थायी भंडारण में रखा जाता है निकालता है केवल जब लागू होता है Camera.sourceType का मान Camera.PictureSourceType.CAMERA और Camera.destinationType के बराबर Camera.DestinationType.FILE_URI के बराबर है। "

उपर्युक्त सीधे आपके उपयोग मामले से संबंधित है।

+1

जहां तक ​​मैंने देखा है, वह विकल्प केवल आईओएस के लिए है ... – revan1990

+0

आह, आप सही हैं। उसके लिए माफ़ करना! –

0

क्या यह वास्तव में फोटो गैलरी में जा रहा है, या सिर्फ एंड्रॉइड के फोटो ऐप में दिख रहा है? एंड्रॉइड डिफॉल्ट फोटो ब्राउज़र सभी फोटो, स्क्रीनशॉट इत्यादि दिखाएगा। यह सिर्फ यादृच्छिक छवियों को भी दिखाएगा - अन्य ऐप्स के पास फाइल सिस्टम पर हो सकता है, लेकिन ये फोटो नहीं हैं।

कॉर्डोवा में, आपके पास ओएस का बहुत अच्छा नियंत्रण नहीं है, आप आसपास के काम का उपयोग कर सकते हैं: आप छवियों को एक छिपी निर्देशिका में रख सकते हैं (. से .appdata से शुरू) और यह एंड्रॉइड को स्वचालित रूप से रोक देगा "गैलरी" ऐप से छवियों को देखकर। मुझे एक आईओनिक ऐप में यह समस्या थी और इसे इस तरह हल किया।

+0

वह छवियों को भंडारण/नकली/0/डीसीआईएम/कैमरा में डाल रहा है। आप इस समाधान को बदलते हुए छवि पथ के साथ कैसे प्रबंधित करते हैं, क्या आप मुझे संकेत दे सकते हैं? – revan1990

+0

यदि आप उन्हें छिपाना चाहते हैं तो आप उन्हें /storage/emulated/sdcard/.mdir या इस तरह कुछ डाल सकते हैं – EdH

संबंधित मुद्दे