Android FileProvider для CACHE DIR: не удалось найти настроенный корень, содержащий
Я нашел так много ссылок, которые связаны с FileProvider, но я не нашел решения для каталога кеша
java.lang.IllegalArgumentException: не удалось найти настроенный корень, содержащий
/data/data/pkg name/cache/1487876607264.png
Я хочу использовать его для CACHE DIRECTORY, Как я могу дать путь в провайдере.
<paths>
<external-path name="external_files" path="." />
</paths>
Я использовал это как:
File file = new File(context.getCacheDir(), System.currentTimeMillis() + ".png");
Uri uri = FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".provider", file);
Работает нормально, если я указываю путь к папке приложения, но не работаю с Cache Directory.
Любая помощь?
2 ответа
Решение
Использование <cache-path>
не <external-path>
, Смотрите документацию.
В моем случае я использую одно и то же имя для двух разных путей. Единственный рабочий путь - последний. Поэтому не забудьте указать уникальное имя для каждого пути.