Android Q Scoped Storage и внешние библиотеки - PullRequest
1 голос
/ 02 мая 2020

Что произойдет, если внешняя библиотека примет только java .io.File или путь к файлу Android 10? Все внешние библиотеки, которые не использовали DocumentFile или не обрабатывали Uri с хранилищем мультимедиа, непригодны для использования?

Например: мне нравится использовать эту библиотеку на Android 10 и выше: https://github.com/ericfarng/jid3lib

Но эта библиотека обрабатывает только java .io.File или filepath. Какие варианты я должен был использовать в будущем?

Я думаю, что есть много приложений, которые становятся непригодными для использования после изменений от Google. Это верно или есть возможность для каждого сценария поддерживать текущие функции?

1 Ответ

1 голос
/ 02 мая 2020

Что произойдет, если внешняя библиотека примет только java .io.File или путь к файлу Android 10? Все внешние библиотеки, которые не использовали DocumentFile или не обрабатывали Uri с хранилищем мультимедиа, непригодны для использования?

Вы всегда можете сделать копию содержимого в файл, которым вы управляете (например, в getCacheDir()), затем используйте библиотеку с этой копией.

Кроме того, на Android R (по крайней мере, через DP3) «необработанные пути» в основном означают, что READ_EXTERNAL_STORAGE снова работает для доступа к внешнему хранилищу . Поэтому вам, возможно, придется беспокоиться только об этой проблеме создания копии для Android 10.

Например: мне нравится использовать эту библиотеку на Android 10 и выше: https://github.com/ericfarng/jid3lib

Но эта библиотека обрабатывает только java .io.File или filepath. Какие варианты мне пришлось использовать в будущем?

Поскольку эта библиотека с открытым исходным кодом, у вас есть возможность сделать свою собственную копию библиотеки, которая может работать на InputStream. Эту конкретную библиотеку будет несколько сложно изменить, так как она опирается на RandomAccessFile.

...