मुझे कैमरे के इरादे (या कैमरा एपीआई) का उपयोग करके छवि लेने के बारे में एक सवाल है और फिर मेरे आवेदन में प्रदर्शित करने के लिए छवि को एक छवि दृश्य में लाएं। अभी तक मेरे पास इतना ही है।फोटो डब्ल्यू/कैमरा इरादा लें और छवि में देखें व्यू या टेक्स्ट व्यू?
मैं सेटअप एक बटन
Button btnPicture = (Button) findViewById(R.id.btn_picture);
btnPicture.setOnClickListener(this);
मैं सेटअप एक कैमरा विधि
private void Camera() {
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE_CODE);
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_CODE);
}
और यह मैं कहाँ खो रहा हूँ। मैं उस छवि को संसाधित करने की कोशिश कर रहा हूं जिसे मैंने लिया था।
private void processImage(Intent intent) {
setContentView(R.layout.imagelayout);
ImageView imageView = (ImageView)findViewById(R.id.image_view);
cameraBitmap = (Bitmap)intent.getExtras().get("data");
imageView.setImageBitmap(cameraBitmap);
}
मेरे इरादे छवि है कि आप image_view अंदर ले लिया प्रदर्शित करने के लिए है। मुझे कोई त्रुटि नहीं मिल रही है, कुछ भी नहीं होता है। जब मैं तस्वीर लेता हूं, तो मुझे या तो एक और तस्वीर लेने के लिए कहा जाता है या जब मैं डिवाइस बैक बटन का उपयोग करता हूं तो एप्लिकेशन बल बंद हो जाता है। ऐसा लगता है कि मुझे अपने आवेदन से पूरी तरह से बाहर निकाला गया है, और लौटना एक बड़ा मुद्दा है। कोई सुझाव? मैं क्या खो रहा हूँ?
हे हां, और यहाँ
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(TAKE_PICTURE_CODE == requestCode) {
Bundle extras = data.getExtras();
if (extras.containsKey("data")) {
Bitmap bmp = (Bitmap) extras.get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] image = baos.toByteArray();
if (image != null) {
Log.d(TAG, "image != null");
}
} else {
Toast.makeText(getBaseContext(), "Fail to capture image", Toast.LENGTH_LONG).show();
}
}
}
मैं getExtras में छवि डाल दिया, और फिर एक bytearray को संग्रहीत करने के लिए कोशिश कर रहा हूँ मेरी onActivityResult है। एक और चीज मैं करने की कोशिश कर रहा था। सुनिश्चित नहीं है कि यह सब कैसे एक साथ आता है।
'atActivityResult() ' –