2010-04-17 3 views
1

Я использую функцию MediaStore.Images.Media.insertImage(ContentResolver cr, String imagePath, String name, String description), чтобы вставить вновь созданное изображение в галерею. Система поименовывает файл по умолчанию, но он отличается от имен изображений, сделанных оригинальным приложением (отметка времени). Есть ли простой способ настроить его?Имя файла после MediaStore.Images.Media.insertImage

ответ

0

Согласно reference, insertImage возвращает URL:

возвращений
            URL-адрес для вновь созданного изображения

ли он не работает?

+0

Это URL, а не имя файла. – 2013-09-29 14:49:38

3

я использую что-то вроде этого

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"

0

InsertImage, или просто вставив ContentValues ​​и запись в Ури , приводит к имени файла длинной стоимости даты.

Например, я представляю свою ситуацию. Вставка значений содержимого, где тип mime указан как image/gif, а затем запись в полученный uri, приводит к файлу xxxxxxxxx.jpg. Указанный тип mime полностью игнорируется. Получающееся gif-изображение в MediaStore не анимируется и по существу разбито, отображается в виде стандартного jpeg.

В этот момент я не вижу возможности вставлять значения содержимого и указывать определенное имя файла после записи в полученный uri через поток. Указание типа mime в MediaScannerConnection тоже не помогает.