我有一个可以制作图片并上传它们的应用程序.上传需要照片的文件路径,但我无法得到它.
这是我的代码:
public void maakfoto (View v) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
knop.setVisibility(Button.VISIBLE);
System.out.println(mImageCaptureUri);
}
}
Run Code Online (Sandbox Code Playgroud)
请帮我看一下文件路径.
谢谢
我想用相机意图制作一张照片并将其保存到默认的DCIM文件夹中.然后我想获得存储图片的路径/文件名.
我正在尝试使用以下代码:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PICTURE);
Run Code Online (Sandbox Code Playgroud)
使用此代码,相机打开,在拍完一张照片后关闭并将照片保存到默认图像文件夹(通常是/ dcim/camera或sdcard/dcim/camera ......)
但是我怎样才能获得拍摄照片的路径和文件名?我已经试过几乎所有在onActivityResult
我试过
String result = data.getData();
Run Code Online (Sandbox Code Playgroud)
和
String result = data.getDataString();
Run Code Online (Sandbox Code Playgroud)
和
String result = data.toURI();
Run Code Online (Sandbox Code Playgroud)
和
Uri uri = data.getData();
Run Code Online (Sandbox Code Playgroud)
等等
我研究了最近两天为此找到解决方案,网上有很多文章和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);
Run Code Online (Sandbox Code Playgroud)
它不会将图像存储为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) { …Run Code Online (Sandbox Code Playgroud) 下面是我的代码但是没有给我onActivity结果中的图像路径
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
Log.w("jay", "Camera Image Path :" + selectedImagePath);
Toast.makeText(MiscansOther_pannel.this, selectedImagePath,
Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud) 我使用Android 2.1,我想从相机意图结果获得真正的路径.我从ACTION_IMAGE_CAPTURE Intent读取了Get Path of image,但是它适用于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();
}
}
Run Code Online (Sandbox Code Playgroud)