Intereting Posts
Запуск действия ACTION_VIEW для открытия браузера, как мне вернуться в мое приложение? Объединение SurfaceView с другими представлениями, такими как TextView и кнопки «Файлы« Gradle »изменились с момента последней синхронизации проекта.» Всегда отображается сообщение ImageView в CollapsingToolbarLayout не покрывает всю высоту? Как получить путь SD_Card в android6.0 программно Pinch Увеличить андроид для просмотра изображений? TransformException дубликат записи для common.annotations.Beta Мягкая клавиатура скрывает панель действий Андроид получает предыдущую дату соответствующей даты (не вчерашняя дата) Карты (коллекции), которые поддерживают порядок вставки в java Генерировать и воспроизводить звук динамически (из данных частоты / амплитуды) Android: создание различных версий моего приложения (бесплатно, премиум и т. Д.) С Eclipse Как управлять MediaPlayer.setVolume () + SeekBar, чтобы установить его + контроль громкости устройства Разверните приложение для Android. Отсутствует задача installReleaseDebug для градиента Редактировать текст с меткой внутри в android

Как получить каталог фотографий по умолчанию, сделанный камерой в android?

Я надеюсь получить каталог фотографий по умолчанию, сделанный камерой в android.

Я думаю, что код А может это сделать, и /storage/sdcard0/DCIM отображается в журнале,

Но на самом деле мои фотографии, сделанные камерой, хранятся в папке /storage/extSdCard/DCIM

Как я могу получить каталог фотографий по умолчанию, сделанный камерой в android? Благодаря!

Код А

 File dir10 = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); Log.e("MainActivity", "getExternalStoragePublicDirectory() 10:" + dir10.toString()); 

Больше

Кажется, что место хранения фотографий по умолчанию, сделанное камерой, задается пользователем, иногда это карта памяти, иногда это SD-карта. Я надеюсь узнать, какое место хранения выбрал пользователь для хранения фотографий, сделанных камерой.

Введите описание изображения здесь

1.Это будет работать только в том случае, если пользователь не изменил значение по умолчанию. Выход камеры Dir

Согласно документации, существует два варианта

DIRECTORY_DCIM Традиционное расположение изображений и видео при установке устройства в качестве камеры.

 File musicDirectory = new File( getExternalFilesDir(Environment.DIRECTORY_DCIM)); 

DIRECTORY_PICTURES Стандартный каталог, в котором можно разместить изображения, доступные пользователю.

 File musicDirectory = new File( getExternalFilesDir(Environment.DIRECTORY_PICTURES)); 

GetExternalFilesDir () вернет объект File

Вы можете сослаться на страницу разработчика

2. Существует еще один трюк, который вы можете сделать, если по крайней мере один снимок сделан в камере

 String[] projection = new String[]{MediaStore.Images.ImageColumns._ID,MediaStore.Images.ImageColumns.DATA,MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,MediaStore.Images.ImageColumns.DATE_TAKEN,MediaStore.Images.ImageColumns.MIME_TYPE}; final Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,projection, null, null, MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC"); if(cursor != null){ cursor.moveToFirst(); //you can access last taken pics here. } 

Environment.getExternalStoragePublicDirectory используется для получения каталогов только для внутреннего хранилища.

Чтобы получить папку DCIM на вашем вторичном хранилище (если существует), вам необходимо следовать этому коду:

 String secondStorage = System.getenv("SECONDARY_STORAGE"); File file = new File(secStore + "/DCIM"); File[] listFiles = file.listFiles(); 

Используйте getExternalStoragePublicDirectory() с параметром DIRECTORY_PICTURES

 File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); File file = new File(path, "DemoPicture.jpg"); 

DIRECTORY_DCIM является традиционным местом для изображений и видео при установке устройства в качестве камеры.

DIRECTORY_PICTURES – это стандартный каталог, в котором можно разместить изображения, доступные пользователю.

Надеюсь, поможет !