2012-07-13 10 views
5

पर दिखाई नहीं देता है, मैं निम्नलिखित कोड का उपयोग कैमरे से चित्र लेता हूं और चित्र का पथ प्राप्त करता हूं।ACTION_IMAGE_CAPTURE के लिए कैमरा इरादा सैमसंग गैलेक्सी नेक्सस (4.0.2)

... 
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, CAMERA_IMAGE_CAPTURE); // image capture 
... 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.d(TAG, "onActivityResult:" + resultCode + " request:" + requestCode); 

    switch (requestCode) { 
     case CAMERA_IMAGE_CAPTURE: 
      Uri selectedImageUri = data.getData(); 
      userImagePath = getPath(selectedImageUri); 
     break; 
    } 
} 

यह एमुलेटर और विभिन्न उपकरणों पर अच्छा काम करता है। लेकिन सैमसंग गैलेक्सी नेक्सस (4.0.2) पर यह कैमरा ऐप लॉन्च नहीं करता है। लेकिन यह RESULT_OK कोActivityResult पर लौटाता है और मुझे LogCat में कोई अपवाद नहीं दिखता है। कृपया मुझे दें और सलाह दें कि इस मुद्दे को कैसे हल किया जाए। अग्रिम धन्यवाद!

+0

http://stackoverflow.com/questions/7277287/default-camera-activity-not-finishing-upon-ok- बटन-प्रेस/14806908 # 14806908 बस इस लिंक को चेक करें .. मददगार हो सकता है ....... समस्या फ़ाइल नाम या पथ की वजह से हो सकती है (जो बेहतर होगा यदि इसमें रिक्त स्थान जैसे कोई विशेष वर्ण नहीं हैं) – Satish

उत्तर

7

आप EXTRA_OUTPUT खो रहे हैं, जो मामलों को प्रभावित कर सकते हैं। मेरे गैलेक्सी नेक्सस this sample project सफलतापूर्वक चला सकते हैं, जो चित्र का अनुरोध करने के लिए निम्न कोड का उपयोग करता है:

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 

output = new File(dir, "CameraContentDemo.jpeg"); 
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output)); 

startActivityForResult(i, CONTENT_REQUEST); 
+1

हैलो, दुर्भाग्य से वही उदाहरण मेरे लिए काम नहीं करता है। पुष्टिकरण स्क्रीन पर ठीक क्लिक करने के बाद, मेरे सैमसंग गैलेक्सी एस 1 पर, इरादा मेरी गतिविधि पर वापस नहीं आ गया है। क्या कोई चाल है जो मुझे याद आ रही है? –

+0

@ टॉमबर्गर: आपको'ActivityResult() 'के साथ बुलाया जाना चाहिए। यदि नहीं, तो शायद यह एक सैमसंग बग है। – CommonsWare

+1

नहीं, ठीक क्लिक करने के बाद यह मुझे कैमरा एप्लिकेशन पर वापस लाता है। यह रद्द करने पर क्लिक करने के बाद ही मेरी गतिविधि पर वापस आता है। बीटीडब्ल्यू, उदाहरण के लिए एक ही मुद्दा: http://stackoverflow.com/questions/8221879/how-to-go-back-from-calling-intent –

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