
Uri selectedImageUri = data.getData(); selectedImagePath = getPath(selectedImageUri); Log.w("jay","Camera Image Path :" + selectedImagePath); Toast.makeText(MiscansOther_pannel.this,selectedImagePath,Toast.LENGTH_LONG).show();解决方法 这对我有用…… 码:
Uri selectedImageUri = data.getData();selectedImagePath = getRealPathFromURI(selectedImageUri);
方法:getRealPathFromURI()
//---------------------------------------- /** * This method is used to get real path of file from from uri * * @param contentUri * @return String */ //---------------------------------------- public String getRealPathFromURI(Uri contentUri) { try { String[] proj = {MediaStore.Images.Media.DATA}; Cursor cursor = managedquery(contentUri,proj,null,null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.movetoFirst(); return cursor.getString(column_index); } catch (Exception e) { return contentUri.getPath(); } } 编辑:
正如我在一些设备中注意到捕获的图像后,onActivityResult()中的数据为空,
因此,替代方法是将特定图像文件名作为参数传递给您的Intent,以捕获图像作为putExtra参数.
然后还将此图像Uri插入Media Store,现在使用此Uri进一步使用,
您可以通过file.exist()检查图像是否被捕获,
代码看起来像,
ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.Title,"Image file name");Uri mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);Intent intentPicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intentPicture.putExtra(MediaStore.EXTRA_OUTPUT,mCapturedImageURI);startActivityForResult(intentPicture,ACTION_TAKE_PICTURE);
现在,您可以使用相同的方法从Uri获取文件路径,
在这种情况下,它将在onActivityResult()中,
selectedImagePath = getRealPathFromURI(mCapturedImageURI); // don't use data.getData() as it return null in some device instead use mCapturedImageUR uri variable statically in your code,总结
以上是内存溢出为你收集整理的android – 如何获取刚从相机捕获的图像路径全部内容,希望文章能够帮你解决android – 如何获取刚从相机捕获的图像路径所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)