2017-02-01 15 views
0

Я все еще ищу, но, возможно, кто-то столкнулся с той же проблемой. Я поддерживаю приложение. Это приложение хранит некоторые данные в двух местах (скажем, на sdcard/example и external_memory/example). Перед переходом на новейший Android Api все работало нормально, используя ExternalStorage.getAllExternalStoragePaths(). Теперь я все еще могу получить оба пути, но путь sdcard/example не читается и не доступен для записи.Android SAF получить доступ к определенному каталогу на SD-карте

Я читал о SAF, но в моем случае это не решение - файлы, хранящиеся в обоих каталоги анализируются с использованием собственной библиотеки (C++). Мне нужен путь к ней, например, /storage/sdcard/example/test.xml. В противном случае библиотека не сможет прочитать этот файл. К сожалению, я не могу изменить библиотеку из-за недостающих источников.

Я хотел бы задать три вопроса:

  • Есть ли другой способ задать доступ к каталогу на SD-карту и использовать этот каталог как старому?
  • Может быть, я могу сказать, что Android - «эй, я хочу иметь примерный каталог на SD-карте и поддерживать его»?
  • Или, может быть, я могу использовать SAF без ContentResolver?

Перемещение файлов на /storage/sdcard/Android/data/com.example/files/ недопустимо заинтересованными сторонами.

ответ

0

Есть ли другой способ запросить доступ к каталогу на SD-карте и использовать этот каталог, как старый?

Нет, кроме создания пользовательского ПЗУ или укоренения устройства.

Возможно, я могу сказать, что Android - «эй, я хочу иметь примерную папку на SD-карте и поддерживать ее»?

No. Ближайшая вещь getExternalFilesDirs(), getExternalCacheDirs() и getExternalMediaDirs(). Если те возвращают 2+, второй и последующие будут на съемных носителях, и вы можете читать и писать на эти пути. Однако вы не контролируете, каковы пути.

Или, может быть, я могу использовать SAF без ContentResolver?

Нет, поскольку вы не можете получить путь к файловой системе.

 Смежные вопросы

  • Нет связанных вопросов^_^