2016-07-12 2 views
1

어떻게 안드로이드에서 extSdcard 경로를 얻을 수 있습니까?안드로이드에서 이동식 SD 카드 경로 받기

2 개의 저장 장치가 있으며 모든 전화기에있는 첫 번째 외부 저장 장치가 있지만 이동식 저장소 (micro sdcard)라고하는 두 번째 저장 장치가 있습니다.

안드로이드에 micro sdcard의 경로를 가져오고 싶습니다. 어떻게 가능합니까? SD 카드를 장착하거나 액세스하는 동안 이동되지 않는 경우는 null를 돌려 수

Context.getExternalFilesDirs() 

참고 : 킷캣에서 시작

답변

1

, 당신은 그 디렉토리를 얻을 수있는 방법에 액세스 할 수 있습니다. 또한, 당신은 당신의 매니페스트 파일에 이러한 권한을 추가해야 할 수도 있습니다 : 읽기와 외부 SD에 쓰기 권한을 정의해야합니다으로도 위의 링크에서 코드가 완전한 참조

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
+0

아래 kitkat에는 어떤 방법이 있습니까? android 4.2+ –

+0

여기 해결책을 찾을 수 있습니다. http://stackoverflow.com/questions/11281010/how-can-i-get-external-sd-card-path-for-android-4-0. 또한 그의 답변에서 mani가 제공 한 링크에는 중요한 정보가 포함되어있는 것처럼 보입니다. – YumeYume

+1

이동식 SD 카드가 아니라 에뮬레이트 된 내부 메모리를 반환합니다. –

0

다음 작품이 적합합니다!

File[] Dirs = ContextCompat.getExternalFilesDirs(this.getApplicationContext(), null); 
File path = (Dirs[1]); 
String pathSD = Dirs[1].toString(); 
int firstOpen = pathSD.indexOf("/"); 
int secondOpen = pathSD.indexOf("/", firstOpen + 1); 
int thirdOpen = pathSD.indexOf("/", secondOpen + 1); 
String filename = pathSD.substring(firstOpen, thirdOpen + 1); 
path = new File(filename);