2016-01-29 7 views
7

के बिना केवल फोन इनपुट के साथ फोनगैप ऐप पर कैमरा का उपयोग करना क्या कैमरा एपीआई के बिना केवल HTML इनपुट के साथ एक फोनगैप ऐप में कैमरा से फोटो प्राप्त करना संभव है?कैमरा एपीआई

परिदृश्य

मैं एप्लिकेशन विकसित और Phonegap के माध्यम से समझाया (बिल्ड)

उपयोगकर्ता html फ़ाइल इनपुट का उपयोग कर तस्वीरें प्रस्तुत कर सकते हैं। लेकिन कैमरे से केवल एक नई तस्वीर लेने का कोई विकल्प नहीं है, केवल गैलरी और फाइलें (और यदि कोई मामला है तो ड्राइव या ड्रॉपबॉक्स जैसे किसी अन्य स्टोरेज ऐप)।

मैं कैमरा विकल्प सक्षम करना चाहता हूं, लेकिन फोनगैप के कैमरा एपीआई के बिना।

समाधान

मैं सफलता के बिना निम्नलिखित समाधान की कोशिश की है:


1. "कब्जा" (Raymond Camden post से) विशेषता

इस विधि के साथ, सभी आपको ऐसा करना है "कैप्चर" विशेषता इस तरह जोड़ना है:

<input type="file" capture="camera" accept="image/*" id="JustChooseAnID"> 

रेमंड बताते हैं कि इस विधि के साथ आपको फोनगैप के कैमरा एपीआई का उपयोग करने की आवश्यकता नहीं है क्योंकि Google ने इस विकल्प को विकसित किया है और इसे Google IO presentation में दिखाया है और, Google देव और रेमंड के अनुसार, यह काम करता है।

लेकिन .. मेरे लिए नहीं।


2. कॉन्फ़िग Phonegap (Jorge Lizaso's question से) कैमरे की अनुमति प्राप्त करने के

"शायद कैमरा विकल्प दिखाया नहीं है अपने अनुप्रयोग उचित अनुमति नहीं है क्योंकि"

में उपरोक्त प्रश्न, अप्रत्यक्ष रूप से कैमरे का उपयोग करने के लिए उचित अनुमतियों को पूछने और प्राप्त करने के लिए 4 विधियों का उल्लेख किया गया है।

मैंने पहले से ही विधियों 2 और 4 की कोशिश की है और, हालांकि मेरा ऐप अब कैमरे की अनुमति मांगता है और जब मैं फ़ाइल इनपुट का उपयोग करता हूं, तो मैंने इसे ठीक से अनुमति दी, सभी विकल्प प्रस्तुत किए गए हैं (गैलरी और फाइलों की तरह), लेकिन कोई कैमरा नहीं ।


3 (और 1)। # 1

समाधान सुनिश्चित करने के लिए मेरे Android WebView की संभावना पुराना हो (और समाधान # 1 के साथ संगत नहीं) के साथ Crosswalk साथ वेबकिट के नवीनतम संस्करण का उपयोग करें, मैं सबसे अच्छा वेबव्यू मेरे एप्लिकेशन में संभव शामिल करने का फैसला: the latest version of Google Chromium

लेकिन .. कोई सफलता नहीं।


1, 2 और 3 संयुक्त

परिणाम: नहीं ... सफलता।

+0

आपको HTML5 API के लिए परीक्षण करने की आवश्यकता है। आपके डिवाइस में सही वेबव्यू लाइब्रेरी नहीं हो सकती है। आपका विकल्प [क्रॉसवॉक (वेबव्यू) प्लगइन का उपयोग करना है] (http://phonegap.com/blog/2015/06/16/phonegap-updated-on-build/) प्लगइन का उपयोग कैसे करें के लिए पोस्ट के नीचे देखें। – JesseMonroy650

+0

आईओएस पर इनपुट प्रकार फ़ाइल ठीक काम करती है और गैलरी या कैमरा विकल्प दिखाती है, एंड्रॉइड पर यह काम नहीं करती है। आपको कैमरे के प्लगइन का उपयोग करना होगा – jcesarmobile

+0

@ JesseMonroy650 नोट के लिए धन्यवाद, लेकिन मैंने क्रॉसवॉक प्लगइन का उपयोग किया। –

उत्तर

2

हां, कॉर्डोवा/फोनगैप के कैमरा एपीआई की आवश्यकता के बिना समाधान है।

मेरे ज्ञान से परे कारणों के लिए, CocoonJS (नाम वेबव्यू +) में उपयोग की जाने वाली वेबकिट फोनगैप के क्रॉसवॉक (कृपया, मैं कोकून से संबंधित नहीं हूं) की तुलना में एचटीएमएल 5 ऐप्स में कहीं अधिक अनुकूलित और समायोजित है।

मैंने पूरी तरह से अपने फोनगैप config.xml सेटिंग्स को त्याग दिया और कोकून निर्माता की कोशिश की। मैं प्रयोग किया जाता है # समाधान 1 (फ़ाइल इनपुट में कब्जा विशेषता) और इन प्लग-इन जोड़ा, कोकून के माध्यम से:

<cocoon:plugin name="cordova-plugin-camera"/> 
<cocoon:plugin name="cordova-plugin-media-capture"/> 
<cocoon:plugin name="cordova-plugin-media"/> 
<cocoon:plugin name="cordova-plugin-file"/> 
<cocoon:plugin name="cordova-plugin-device"/> 

यह नोट करने के लिए कि मैं सिर्फ वांछित अनुमति प्राप्त करने के क्रम में इन प्लग-इन स्थापित महत्वपूर्ण है, लेकिन मैं उनका बिल्कुल उपयोग नहीं कर रहा हूं।


शायद, अधिक अनुभवी डेवलपर्स बेहतर समाधान होगा, लेकिन अब के लिए, यह सबसे अच्छा तरीका है मैं इस समस्या को हल करने के लिए मिला है।

+0

धन्यवाद पाओलो, इससे बहुत मदद मिली –

+0

किंवदंती! अपने जैसा ही स्थिति में था, ऊपर सूचीबद्ध सभी चरणों का प्रयास किया। कॉर्डोवा में सूचीबद्ध प्लगइन को बस इंस्टॉल करना मेरे लिए पर्याप्त था, हालांकि कोकूनजेएस एक दूसरे रूप के लायक है। – trans1t

+0

आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद, @ trans1t! –

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