카메라로 찍은 그림의 경로를 문자열로 가져 오려고합니다. 내 코드로 사진을 찍으려고하면 문자열이 비어 있습니다. 내 앱을 닫을 때 카메라 앱을 열고 사진을 찍은 다음 내 앱을 다시 열고 코드를 사용하면 카메라 앱으로 찍은 마지막 사진의 문자열을 가져옵니다. 내 질문은 내 카메라 의도가 작동하지 않는 이유이며 카메라 앱을 사용할 때 왜 작동합니까?카메라 의도 그림 파일 경로
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
파일 경로가 필요하기 때문입니다. ;) –
우리 대답을 사용하여 나의 대답을 시험해 보라. – dymmeh