Как я могу обслуживать файлы из ВТОРИЧНОГО внешнего хранилища, используя FileProvider
?
Текущая реализация FileProvider
обрабатывает только первый каталог, возвращаемый ContextCompat.getExternalFilesDirs
.
...
} else if (TAG_EXTERNAL_FILES.equals(tag)) {
File[] externalFilesDirs = ContextCompat.getExternalFilesDirs(context, null);
if (externalFilesDirs.length > 0) {
target = externalFilesDirs[0];
}
}
...
Кажется, нет способа определить запись <path>
для FileProvider
, которая соответствует вторичному пути внешнего хранилища...
ContextCompat.getExternalFilesDirs
с индексом массива › 0. На большинстве устройств это, вероятно, будет съемная SD-карта. - person artkoenig   schedule 29.10.2016FileProvider
не поддерживает это. Вы можете настроить что-то с помощью myStreamProvider
, хотя это не поддерживается из коробки. . Я добавил это в свой список дел наStreamProvider
, так как вы правильно заметили. В частности, поскольку для этих местоположений не используются разрешения приложений, они должны быть доступны для обслуживания, по крайней мере, когда они существуют. Что может оказаться сложным, так это правильная обработка случая, когда съемное хранилище недоступно, но вы запросили его обслуживание. - person CommonsWare   schedule 29.10.2016