我试图让我用相机拍摄的照片作为字符串的路径。当我尝试用我的代码拍摄照片时,字符串为空。当我关闭我的应用程序时,打开相机应用程序并在那里拍照,然后重新打开我的应用程序并使用我的代码,然后获取我使用相机应用程序拍摄的最后一张照片的字符串。我的问题是为什么我的相机意图不工作,为什么当我使用相机应用程序工作?相机意图图片文件路径
这里是我的代码:
public void onClick(View arg0) {
switch (arg0.getId()) {
case R.id.btnImageCapture:
Intent openCamera = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(openCamera, OPEN_CAMERA);
break;
}
}
private String getLastImagePath() {
final String[] imageColumns = { MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA };
final String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
Cursor imageCursor = managedQuery(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns,
null, null, imageOrderBy);
if (imageCursor.moveToFirst()) {
String fullPath = imageCursor.getString(imageCursor
.getColumnIndex(MediaStore.Images.Media.DATA));
imageCursor.close();
return fullPath;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode){
case OPEN_CAMERA:
if (resultCode == RESULT_OK && data != null) {
String picturePath = getLastImagePath();
break;
}
}
}
你为什么不使用给了你在onActivityResult图像的URI? data.getData(); – dymmeh 2013-02-21 18:28:37
这是因为我需要文件路径。 ;) – 2013-02-21 18:31:48
用Uri试试我的答案。 – dymmeh 2013-02-21 18:57:05