2017-01-24 6 views
0

내부 저장 장치와 동일한 SD 카드에 디렉토리를 만들고 싶습니다.SD 카드에있는 디렉토리의 경로를 얻는 방법은 무엇입니까?

내 내부 저장 경로 나 SD 카드의 루트에 같은 디렉토리를 만들 "sdcard/<my_directory_name>/"

입니다.

다음과 같은 방법으로 디렉토리 경로를 찾으려고 시도합니다. sdcard1/<my_directory_name>/

  • Environment.getExternalStorageDirectory() +"/<my_directory_name>/"
    1. 는 SD 카드 경로를 찾을 수있는 방법을 제안 해주십시오.

    +0

    '내 내부 저장 경로는 "sdcard/ /"입니다. 불가능한 두 번. 내 외부 저장소 경로는 "/ sdcard/ /"입니다. – greenapps

    답변

    2

    Android 4.4 이상에서는 removable storage에 임의로 액세스 할 수 없습니다. 따라서 파일 시스템 관점에서 유용한 경로는 없습니다. getExternalFilesDirs()과 친족을 사용할 수 있습니다. 2 개 이상의 위치를 ​​반환하는 경우 두 번째 이후의 위치는 이동식 저장소에 저장되며 해당 위치를 읽고 쓸 수 있습니다.

    +0

    하나의 레코드 만 제공합니다. "/ storage/sdcard0/Android/data /" – Naitik

    +0

    @ Naitik :/storage/sdcard0 /' 전형적인 이동식 저장 장치 명명 규칙. – CommonsWare

    0

    CommonsWare가 대답 했으므로 Secondary External Storage에서 읽거나 쓸 수는 없지만 경로를 생성하는 방법은 다음과 같습니다.

    System.getenv("SECONDARY_STORAGE"); //returns /storage/extSdCard 
    

    String path = "/storage/extSdCard";을 사용할 수도 있지만 다시 파일을 쓸 수 없습니다.

    편집 : @CommonsWare가 주석 처리 했으므로이 방법을 보증 할 수 없습니다. 테스트를 마쳤지 만 효과가 있었지만 보증이 없다고 말하면 그의 말을 따를 수 있습니다.

    +1

    이 환경 변수가 의미있는 값으로 설정된다는 보장은 없습니다. – CommonsWare