2017-05-15 5 views
0

안녕하세요 저는 카메라에서 이미지를 캡처하고 특정 폴더에 저장하려고합니다. 예를 들어. 나는 이름이 "MyImages"로 폴더를하고 난 이름이 폴더에을 abc.png 로 촬영 한 이미지를 저장하려면, 그래서 내가 코드를 다음과 같은 사항에 대해 FileProvider경로을 설정하는 방법. 다음어떻게 안드로이드에서 FileProvider 폴더의 경로를 설정할 수 있습니까?

<paths xmlns:android="http://schemas.android.com/apk/res/android"> 
<files-path name="my_images" path="???"/> 
... 

내가 내 이미지 파일을 만들 오전 내 코드입니다.

public File getAlbumDir() { 
    File storageDir = null; 

    if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { 

     storageDir = new File(Environment.getExternalStorageDirectory(), 
       "MyImages"); 

     if (storageDir != null) { 
      if (!storageDir.mkdirs()) { 
       if (!storageDir.exists()) { 
        Log.d("CameraSample", "failed to create directory"); 
        return null; 
       } 
      } 
     } 

    } else { 
     Log.v(context.getString(R.string.app_name), "External storage is not mounted " + 
       "READ/WRITE."); 
    } 

    return storageDir; 
} 

public File createImageFile() { 
    // Create an image file name 
    String imageFileName = "abc.jpg"; 
    File albumF = getAlbumDir(); 
    File imageF = new File(albumF, imageFileName); 
    return imageF; 
} 
+0

"가"MyImages "나는 이름의 폴더가"- 설명하십시오 **이 폴더가 존재 세부 **에. – CommonsWare

+0

이 폴더는 SD 카드에 있습니다. 경로를 설정하는 방법을 알고 있다면 나를 도와주세요. –

+0

이 링크를 사용해보십시오 http://stackoverflow.com/questions/20058793/android-how-to-save-the-camera-result-to-a-private-file – Ankita

답변

2

MyImages/Environment.getExternalStorageDirectory()입니다.

먼저 파일을 배치하기에 적합하지 않습니다. Windows에서 C:\의 루트에 디렉토리를 만드는 것과 비슷합니다.

말했다되는 것을 당신 FileProvider XML 구성에서 다음이 필요합니다

<external-path name="my_images" path="MyImages"/> 
+0

우리는/storage/sdcard0/..와 같은 경로에 전체 경로를 지정해야한다고 생각합니다. –

+0

@Roy : 아니요. 'external-path'는'Environment.getExternalStorageDirectory()'를 가리 킵니다. – CommonsWare