내 Android 장치의 ExternalStorageDirectory
에 무언가를 쓰려고합니다. 이를 테스트하기 위해이 디렉토리에 간단한 폴더를 만들려고했습니다. 그것은 작동하지 않았으므로 나는 넘어 졌어 this stackoverflow 스레드. 내가 가장 upvoted 예제 코드를ExternalStorage에서 폴더 만들기
File folder = new File(Environment.getExternalStorageDirectory() + "/map");
boolean success = true;
if (!folder.exists()) {
success = folder.mkdir();
}
if (success) {
// Do something on success
} else {
// Do something else on failure
}
를 사용하고 givven WRITE_EXTERNAL_STORAGE
권한을 설정하면 폴더의 생성은 항상 실패 -이 예외는 아니다,하지만 실행 후 f.exists()
은 여전히 false
입니다. 내 Nexus 5X
및 최신 Nexus 5X-Emulator
에서 테스트했습니다.
에뮬레이터에서 Environment.getExternalStorageState()
은 virtual SD-card
을 장착했지만 not-mounted
을 반환합니다 (이것은 나에게도 이상하게 보입니다). 내 실제 장치에서는 mounted
을 반환합니다. 그래서 어떤 문제도 보이지 않습니다. 왜 코드가 작동하지 않아야합니다.
폴더 생성 실패 및/또는 Environment.getExternalStorageState()
의 작동에 대한 모든 조언을 환영합니다.
https://stackoverflow.com/questions/32635704/android-permission-doesnt-work처럼 폴더를 manifiest 파일
에이 권한을 추가하고 작성해야합니다 -e-have-i-have-declared-it – CommonsWare
감사합니다.이 게시물은 완전히 해결되었습니다. – FlashTek