나는이 문제에 며칠 동안 직면하고 있습니다. 알아낼 수 없습니다. 그래서, 나는 내부 디렉토리의 루트 (애플 리케이션 내부 디렉토리가 아니라 장치 내부 디렉토리)에 폴더를 만들려는 응용 프로그램을 가지고 있으므로 사실 그것이 외부 디렉토리라는 것을 알았습니다.Android에 폴더를 만들 수 없습니다.
File file = new File(getExternalStorageDirectory().getAbsolutePath(), 'someFolder); boolean created = file.mkdir();
및 일부 장치에이 작동하지 않습니다 지금은 그 같은 코드를 사용하고 있습니다. created
은 항상 false입니다. Crashlytics (삼성과 Lenovo 기기에서만 말할 수 있음)에서 알 수 있기 때문에 어떤 기기인지 모르겠습니다. 내 Nexus 7 및 Xperia Sola에서 완벽하게 작동합니다.
누군가가이 문제를 해결할 수 있습니까?
죄송합니다. 내 실수는 - getExternalStorageDirectory()입니다. - 내 게시물을 편집했습니다. 다른 폴더가 있으면 읽기 전용 일 수 있습니다. 사진이있는 DCIM과 같이 다운로드 - 다운로드 한 파일은 어디 있습니까? 많은 앱은이 내부 기기 폴더에 자체 폴더가 있습니다 (예 : Nexus 7에서는/에뮬레이션/0 /). –
동일한 dir이 이미 있는지 확인 했습니까? [mkdir은이 경우 false를 반환 할 수 있습니다.] (http://developer.android.com/reference/java/io/File.html#mkdir()). – ashoke
예,'getExternalStorageDirectory()'디렉토리가 존재합니다. 그것은 또한 에뮬레이터에서 발생합니다 -'mkdir()'또는'mkdirs()'는'false'를 반환합니다. –