2017-04-16 1 views
0

현재 Android 애플리케이션을 개발 중입니다.이 애플리케이션은 .txt 파일을 열고 저장합니다. 외부 .txt 파일을 쉽게 읽을 수 있도록하기 위해 SD-Card의 응용 프로그램 폴더에 저장됩니다. 불행히도/storage/emulated/0에만 액세스 할 수 있습니다.Android 애플리케이션에서 SD 카드 액세스

Environment.getExternalStorageDirectory() 
getExternalFilesDir("MyFileStorage") 

그들은 모두 리드/스토리지/내부 저장 장치에/0를 에뮬레이트 :

은 이미 2 개의 다른 possibilites을 시도했다. 누군가 내 스마트 폰의 SD 카드 (USB 디버깅)에서 앱의 폴더에 액세스 할 수있는 방법을 알고 있습니다.

답변

0

그들이에 응용 프로그램의 폴더에 저장됩니다 SD 카드

은 기본적으로 애플 리케이션 removable storage의 디렉토리가 없습니다.

Android 4.4 이상에서는 use getExternalFilesDirs() (끝 부분에 s이 표시됨)으로 보내 주시기 바랍니다. 2 + 항목이있는 목록을 반환하면 첫 번째 항목은 외부 저장소에 저장되고 다른 항목은 이동식 저장소에 저장됩니다.

은 이미 그들은 모두 리드/스토리지/안드로이드 SDK가 external storage 등을 의미 무슨 내부 저장

그 점에/0를 에뮬레이트 ... 2 개의 다른 possibilites을 시도했다.

+0

getExternalFilesDirs (1) 사용은 나를 위해 일했습니다 :) – Scian

0

기본적으로 앱에는 외부 저장소에 폴더가 없습니다. 이 같은 앱 폴더를 생성해야합니다 : 당신은 SD 카드에 액세스 할 AndroidManifest.xml 할 수있는 권한을

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

를 추가 할 필요가 기억

String folder_main = "YourAppName"; 

File f = new File(Environment.getExternalStorageDirectory(), folder_main); 
if (!f.exists()) { 
    f.mkdirs(); 
} 

을 (도입 권한 모델을 사용 최신 기기 용 Android 6.0).

+1

이 코드는 대다수 Android 기기의 SD 카드와 아무 관련이 없습니다. – CommonsWare

+0

불행하게도이 방법은 효과가 없습니다. Environment.getExternalStorageDirectory()는/storage/emulated/0으로 다시 연결됩니다. 따라서 내 내부 저장소에 폴더를 만듭니다. 외부 저장소에 쓸 수있는 권한이 있습니다 (휴대 전화 설정에서도 확인). – Scian

관련 문제