안녕하세요, 회원가입해서 질문하려고 했는데.. 질문 삭제가 안되고 아래처럼 됐네요 (__)
구글에서 카메라 찍는거 & 크랍하는거 예제보고 하고 있는데요.
크랍이나 카메라 구동엔 문제가 없는데 앨범에 카메라가 저장이 안됩니다..
이상한건 아예 안되는게 아니고 어쩌다가 되거나, 앱 재 실행에만 작동한다는거..
먼저 파일과 위치를 리턴하는 함수 하나를 만들고요,
private File createImageFile() throws IOException {
// Create an image file name
String imageFileName = "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg";
//File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File storageDir = new File(Environment.getExternalStorageDirectory(), imageFileName);
mCurrentPhotoPath = "file:" + storageDir.getAbsolutePath();
return storageDir;
}
그리고 사진찍기 버튼을 누르면 아래처럼!
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
File photoFile = null;
try {
photoFile = createImageFile(); // 사진찍은 후 저장할 임시 폴더
} catch (IOException ex) {
}
if (photoFile != null) {
photoURI = Uri.fromFile(photoFile); // 임시폴더의 위치,경로 가져옴
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}
}
}
실행하는 순서거든요, 그리고 Crop할거면 Crop함수로 넘기구요.
나머지는 어떤 버튼눌렀느냐 리턴값이 뭐냐에 따른건데,
그것과 상관없이 이상한건 몇개는 저장되다가 그 다음부턴 저장이 안돼요. 다시 앱 설치하면 한꺼번에 저장이 다 된걸로 나오더라구요..
무슨 문제가 있을까요..??
참 그리고.
Environment.getExternalStoragePublicDirectory
이것을 사용하면요, 외장메모리에 저장이 되는건가요?
만약 외장메모리가 없는 사람들을 위해서는 어디에 저장되도록 해야할지 궁금합니다.
감사합니다 :D