마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

카메라 파일 저장이 됐다가 안됐다가 해요.. [closed]

0 추천

안녕하세요,

구글에서 카메라 찍는거 & 크랍하는거 예제보고 하고 있는데요.

크랍이나 카메라 구동엔 문제가 없는데 앨범에 카메라가 저장이 안됩니다. 그러다 가끔 돼요.

 

먼저 파일과 위치를 리턴하는 함수 하나를 만들고요,

private File createImageFile() throws IOException {
    String imageFileName = "tmp_" + String.valueOf(System.currentTimeMillis()) + ".jpg";

    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); // 찍은 사진의 takePictureIntent putextra                                                                           // photoURI(경로)로 보냄
            startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
        }
    }
}

그리고 activityresult에서 값에 따른 처리..

이상한건 몇개는 저장되다가 그 다음부턴 저장이 안돼요. 다시 앱 설치하면 한꺼번에 저장이 다 된걸로 나온다는...

무슨 문제가 있을까요..??

 

 

참 그리고..

Environment.getExternalStoragePublicDirectory

이것을 사용하면요, 외장메모리에 저장이 되는건가요?

만약 외장메모리가 없는 사람들을 위해서는 어디에 저장되도록 해야할지 궁금합니다.

 

감사합니다 :D

질문을 종료한 이유: 로그인 후 질문
익명사용자 님이 2016년 9월 12일 질문
2016년 9월 12일 closed
...