【发布时间】:2011-01-18 09:56:19
【问题描述】:
我想启动原生安卓相机并将图像保存在指定位置。问题是在我单击照片后,预览会出现保存/放弃的选项。单击保存后,相机再次启动,并且我捕获的图像未保存在指定位置。而是将其保存在默认位置。实际上我需要我点击的图像的位置。这是我用来启动相机的代码。
MediaScannerConnection_MSC = null;
String fileName = String.valueOf(System.currentTimeMillis())+".jpg";
f = new File(Environment.getExternalStorageDirectory(), fileName);
_imageUri = Uri.fromFile(f);
// create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_OUTPUT, _imageUri);
startActivityForResult(intent, 1);
这是从相机返回后的代码
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
// use imageUri here to access the image
final String imagePath = f.getAbsolutePath();
_MSC = new MediaScannerConnection(this, new MediaScannerConnectionClient() {
public void onMediaScannerConnected() {
_MSC.scanFile(imagePath, null);
}
public void onScanCompleted(String path, Uri uri) {
_MSC.disconnect();
_MSC = null;
}
});
_MSC.connect();
}
}
}
我在这里做错了什么
【问题讨论】:
-
我有一个非常相似的问题。谁能回答这个问题?