Java Android getContentResolver (). Запрос на указание c Папка камеры для получения курсора на Android Уровень API <= 28 устройств - PullRequest
0 голосов
/ 06 февраля 2020

Я хочу получить последнее снятое изображение из папки «Камера». Я не хочу получить последний скриншот или что-нибудь еще. Я просто хочу сделать последнее изображение из папки камеры.

Этот код работает, но если есть папка с именем "Cameras" или "xxx..Camera..xxx", программа также извлекает данные этих папок.

 cursor = MainActivity.this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                null,
                MediaStore.Images.Media.DATA + " like ? ",
                new String[] {"%Camera%"},
                MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");

Но я не хочу запрашивать папки, имя которых содержит последовательность символов «Камера». Я просто хочу запросить папку для сохранения камеры по умолчанию. В моем случае /storage/emulated/0/DCIM/Camera.

1 Ответ

0 голосов
/ 06 февраля 2020

Я могу запросить указанную директорию c, используя

MediaStore.Images.Media.BUCKET_DISPLAY_NAME

Теперь мой код работает так и без проблем:

cursor = MainActivity.this.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                null,
                MediaStore.Images.Media.BUCKET_DISPLAY_NAME + " = ? ",
                new String[] {"Camera"},
                MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
...