2011-09-13 11 views
11

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

अब मैं कैमरे द्वारा ली गई एक छवि अपलोड करना चाहता हूं।

क्या एंड्रॉइड 2.2 पर पूर्वावलोकन के बिना पृष्ठभूमि सेवा में कैमरे का उपयोग करना संभव है?

मैं वेब पर विभिन्न contrastants जवाब मिला ...

मैं इसे कैसे कर सकता है?

उत्तर

9

आप बिना डमी व्यू के पूर्वावलोकन के चित्र ले सकते हैं।

की तरह:

SurfaceView view = new SurfaceView(this); 
c.setPreviewDisplay(view.getHolder()); 
c.startPreview(); 
c.takePicture(shutterCallback, rawPictureCallback, jpegPictureCallback); 
+2

यह सभी उपकरणों पर काम नहीं करता है, जैसा कि यहां बताया गया है: http://stackoverflow.com/a/5384913/318870 –

+1

सी, शटर कॉलबैक और सभी चर क्या है .. कृपया पूरा कोड – jyomin

+2

प्रदान करें यह कोड नहीं है सही बात। मुझे 'WindowManager' में 'view' जोड़ने की आवश्यकता थी। मुझे 'view.getHolder()' में कॉलबैक जोड़ने की आवश्यकता है और फिर 'सतहक्रेटेड' में पूर्वावलोकन सेट करें, पूर्वावलोकन शुरू करें, और तस्वीर लें। – Sam

1

पूर्वावलोकन/सतह दृश्य के बिना यह संभव नहीं है।

+0

यह सच है, लेकिन आप अभी भी इस तरह के एक पारदर्शी पूर्वावलोकन या एक 1x1 पूर्वावलोकन के रूप में चाल का उपयोग कर सकते हैं। इसके अलावा, कुछ फोनों पर आप स्पष्ट रूप से एक डमी 'भूतलटेक्चर' या 'सतह दृश्य' का उपयोग कर सकते हैं जो प्रदर्शित नहीं होता है। – Sam

+0

यह कुछ उपकरणों (जैसे मेरा नोट 2) पर Surfaceview के बिना काम करता है लेकिन हर डिवाइस पर काम नहीं करता है। तो SurfaceView का उपयोग करना आवश्यक है। – TheOnlyAnil

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