2017-02-01 7 views
0

아직 검색 중이지만 같은 문제에 직면 한 사람이있을 수 있습니다. 저는 앱을 관리하고 있습니다. 이 응용 프로그램은 두 위치에 데이터를 저장합니다 (예 : sdcard/example 및 external_memory/example). 최신 Android Android API로 이전하기 전에 ExternalStorage.getAllExternalStoragePaths()을 사용하여 모든 것이 잘 작동했습니다. 이제는 두 경로를 모두 얻을 수 있지만 sdcard/example 경로는 읽을 수없고 쓰기가 불가능합니다.Android SAF는 SD 카드의 특정 디렉토리에 액세스합니다.

SAF에 대해 읽었지 만 제 경우에는 해결책이 아닙니다 - 두 가지 모두에 저장된 파일 디렉터리는 네이티브 라이브러리 (C++)를 사용하여 구문 분석됩니다. - 경로가 필요합니다 (예 : /storage/sdcard/example/test.xml). 그렇지 않으면 라이브러리가이 파일을 읽을 수 없습니다. 불행히도 소스가 없어서 라이브러리를 변경할 수 없습니다.

나는 세 가지 질문을하고 싶습니다 : SD 카드에 디렉토리에 대한 액세스를 요청하고 옛날 방식처럼이 디렉토리를 사용하는 다른 방법이

  • 있습니까?
  • 아마 안드로이드라고 말할 수 있습니다 - "이봐 요, SD 카드에 예제 디렉토리를 갖고 유지하고 싶습니다"?
  • 아니면 ContentResolver없이 SAF를 사용할 수 있습니까?

/storage/sdcard/Android/data/com.example/files/으로 파일을 이동하는 것은 이해 관계자가 허용하지 않습니다.

답변

0

SD 카드의 디렉토리에 대한 액세스를 묻는 다른 방법이 있습니까?

아니요, 사용자 지정 ROM을 만들거나 장치를 루팅하기에 부족합니다.

아마 안드로이드라고 할 수 있습니다 - "이봐 요, SD 카드에 예제 디렉토리를 갖고 싶습니다"라고 말할 수 있습니까?

번호가 가장 가까운 것은 getExternalFilesDirs(), getExternalCacheDirs()getExternalMediaDirs()입니다. 두 개 이상의 항목을 반환하는 경우 두 번째 및 후속 항목은 이동식 미디어에 저장되며 해당 경로를 읽고 쓸 수 있습니다. 그러나 경로가 무엇인지는 제어하지 않습니다.

아니면 ContentResolver없이 SAF를 사용할 수 있습니까?

아니요. 파일 시스템 경로를 얻을 수없는 한 말입니다.