我想用相机意图制作一张照片并将其保存到默认的DCIM文件夹中。然后我想获取图片存储的路径/文件名。从相机获取路径和文件名意图结果
我用下面的代码尝试它:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
有了这个代码,相机打开,我已经拍摄第一张照片后关闭,图像保存到默认图像文件夹(通常是/ DCIM /相机或SD卡/ DCIM /相机...)
但我怎样才能得到拍摄的图片的路径和文件名? 我曾尝试在onActivityResult
几乎所有的东西我试图
String result = data.getData();
和
String result = data.getDataString();
和
String result = data.toURI();
和
Uri uri = data.getData();
Ë tc。
我研究了最近两天找到一个解决方案,有很多关于web和stackoverflow的文章,但没有任何工作。 我不想缩略图,我只想要路径(uri?)到相机拍摄的图像。
感谢您的帮助
编辑: 当我尝试:
path=Environment.DIRECTORY_DCIM + "/test.jpg";
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
它不将图像存储为test.jpg放在而是与正常图像名称2011-10-03 .. ... jpg(但也可以,我只需要图片的路径,名称无关紧要)。
问候
再次编辑
path=Environment.getExternalStorageDirectory().getPath() + "/DCIM/Camera/";
File file = new File(path,"test111111111.jpg");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);
当我尝试这一点,它的图像存储到正确的文件夹,并用给定的名称(例如test111111.jpg)。 但是,我现在如何获得onActivityResult中的文件路径?
你媒体链接知道路径...因为你创建你的文件。您可以将文件或路径作为您的活动的成员变量 –