5

मैं अपने ऐप में छवि प्राप्त करने के लिए डिफ़ॉल्ट कैमरा इरादा का उपयोग कर रहा हूं। समस्या onActivityResult() पर कैमरा रिटर्न शून्य है। ResultCode और RequestCode अपेक्षित के रूप में लौट रहे हैं।एंड्रॉइड इनबिल्ड (एक्शन इमेज कैप्चर) इरादा शून्य इरादा देता है। परिणाम वितरित नहीं करें {who = null}

मेरे इरादे कॉल है:

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1224; 
.... 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

OnactivityResult है:

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
if (resultCode == RESULT_OK) { 
    //use imageUri here to access the image 
    Uri imageuri = data.getData(); // here is getting crash 
    imageView.setImageFromUri(imageUri); 
} 
} 
} 

void setImageFromUri(Uri imgUri){ 
... TODO assign image from uri 
} 

जैसा कि मैंने लॉग डाल मैं resultCode मिला है और मैं कहाँ कर रहा हूँ प्रतिक्रिया कोड अशक्त

resultCode = -1 
requestCode = 1224 

नहीं हैं गलती?

लेकिन में लिए गए चित्र पथ (imageUri) में संग्रहीत किया जाता है के रूप में मैं

निर्दिष्ट वहाँ कैमरे का उपयोग कर छवि प्राप्त करने के किसी भी अन्य रास्ता नहीं है।

उत्तर

10

लगता है कि आप छवि को पहले से जानते हैं UctivityResult। यह सही जवाब नहीं है लेकिन ठीक काम करेगा।

intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 

// इस छवि को uri केवल आप

उपयोग करने के लिए जा रहे हैं तो उपयोग नहीं करते

Uri imageuri = data.getData(); 

सिर्फ uri आप में जाना जाता है का उपयोग करें।

अपने कोड इस तरह दिखता है:

if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) { 
    if (resultCode == RESULT_OK) { 
//use imageUri here to access the image 
imageView.setImageFromUri(imageUri); // imageUri should be global in the activity 
    } 
} 
+1

धन्यवाद Shadowtech यह मैं क्या किया है ... यह काम कर रहा है। :) आप जानते हैं कि इरादा क्यों शून्य है? –

+0

यदि आप intent.putExtra को हटाते हैं (MediaStore.EXTRA_OUTPUT, imageUri); इसके बाद आपको इरादे में छवि मिल जाएगी अन्यथा इरादा शून्य होगा और छवि यूआरआई पर संग्रहीत की जाएगी ... –

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