Android как получить идентификатор ресурса из внешнего хранилища - PullRequest
0 голосов
/ 10 мая 2019

Мне нужно получить файлы изображений .png из внешнего хранилища, расположенного в папке «Загрузки», с указанием пути к среде /storage/emulated/0/Download/some_image_folder.

Я пытаюсь читать файлы с помощью getResources ()Метод .getIdentifier () для внешнего хранилища, но идентификатор ресурса не найден


//For Internal 
int imageId = getContext().getResources().getIdentifier("image_name", "raw", getContext().getPackageName());

//For External not working
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/" + "image_folder_name";
int imageId = getContext().getResources().getIdentifier("image_name", path , getContext().getPackageName());

Так что, если я использую «сырую» папку для внутреннего хранилища, где хранятся изображения, все работает нормально.

Когда я использую путь для внешней папки, идентификатор изображения не может быть найден, он возвращает 0

1 Ответ

0 голосов
/ 10 мая 2019

Ресурсы - это файлы на вашем компьютере для разработки. Они не являются файлами на устройстве, а файлы на устройстве не являются ресурсами. Для вашего файла нет идентификатора ресурса, так как он не является ресурсом.

...