Я использую функцию MediaStore.Images.Media.insertImage(ContentResolver cr, String imagePath, String name, String description)
, чтобы вставить вновь созданное изображение в галерею. Система поименовывает файл по умолчанию, но он отличается от имен изображений, сделанных оригинальным приложением (отметка времени). Есть ли простой способ настроить его?Имя файла после MediaStore.Images.Media.insertImage
ответ
Согласно reference, insertImage
возвращает URL:
возвращений
URL-адрес для вновь созданного изображения
ли он не работает?
я использую что-то вроде этого
Uri u;
File fi = new File("/sdcard/tmp");
try {
u = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), fi.getAbsolutePath(), null, null));
imageSaveName1 = u.toString();
}
imageSaveName1 выглядит что-то вроде "содержания: // СМИ/внешние/изображения/СМИ/159"
InsertImage, или просто вставив ContentValues и запись в Ури , приводит к имени файла длинной стоимости даты.
Например, я представляю свою ситуацию. Вставка значений содержимого, где тип mime указан как image/gif, а затем запись в полученный uri, приводит к файлу xxxxxxxxx.jpg. Указанный тип mime полностью игнорируется. Получающееся gif-изображение в MediaStore не анимируется и по существу разбито, отображается в виде стандартного jpeg.
В этот момент я не вижу возможности вставлять значения содержимого и указывать определенное имя файла после записи в полученный uri через поток. Указание типа mime в MediaScannerConnection тоже не помогает.
Это URL, а не имя файла. – 2013-09-29 14:49:38