本文介绍了如何从相机意图中获取图像路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用 android 2.1,我想从相机意图结果中获取真实路径.我读了 从 ACTION_IMAGE_CAPTURE Intent 获取图像路径 但是它适用于 android 2.2.
i work with android 2.1 , and i want to get real path from Camera intent result. I read Get Path of image from ACTION_IMAGE_CAPTURE Intent but it is for android 2.2.
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAMERA_RESULT) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); imv.setImageBitmap(thumbnail); Uri selectedImageUri = data.getData(); String path = getRealPathFromURI(selectedImageUri); } } private String getRealPathFromURI(Uri contentUri) { try { String[] proj = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(contentUri, proj, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } catch (Exception e) { return contentUri.getPath(); } } 推荐答案上面的代码适用于某些手机,但在我的情况下不适用于三星手机,所以我为所有设备实现了通用逻辑.
Its above code works in some mobile but does not work in samsung mobile in my case so I implemented the common logic for all devices.
当我从相机捕捉照片时,我使用 Cursor 实现逻辑并迭代光标并获取从相机捕捉的最后一张照片路径.
When I capture the photo from camera so I implement a logic using Cursor and iterate the cursor and get the last photo path which is capture from camera.
Cursor cursor = getContentResolver().query(Media.EXTERNAL_CONTENT_URI, new String[]{Media.DATA, Media.DATE_ADDED, MediaStore.Images.ImageColumns.ORIENTATION}, Media.DATE_ADDED, null, "date_added ASC"); if(cursor != null && cursor.moveToFirst()) { do { uri = Uri.parse(cursor.getString(cursor.getColumnIndex(Media.DATA))); photoPath = uri.toString(); }while(cursor.moveToNext()); cursor.close(); }更多推荐
如何从相机意图中获取图像路径?
发布评论