2014-12-24 5 views
0

Я посылаю IntentГалерея возвращает старое имя файла

Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
    intent.setType("image/*"); 
    startActivityForResult(Intent.createChooser(intent, "Select Media"), CameraUtils.REQUEST_GALLERY); 

я получаю результат и переименовать файл

case CameraUtils.REQUEST_GALLERY: 
    Uri uri = data.getData(); 
    ContentResolver cr = this.getContentResolver(); 
    String fileName = FileUtils.getPath(this, uri); 
    File from = new File(fileName); 
    String directory = from.getParent(); 
    File to = new File(directory, "newFile" + i + ".jpg"); 
    from.renameTo(to); 
    i++; 

Название старый файл был /mnt/sdcard/DCIM/100LGDSC/CAM00046.jpg, то новое имя файла: «/mnt/sdcard/DCIM/100LGDSC/newFile1.jpg». Затем я отправляю Intent и получаю тот же файл, но имя файла «/mnt/sdcard/DCIM/100LGDSC/CAM00046.jpg», а не «/mnt/sdcard/DCIM/100LGDSC/newFile1.jpg». Почему?

+0

Я знаю, что есть эскизы, возможно, они могут быть обновлены? – user1528799

ответ

0

надежда эта работа: добавить ниже код к вашей программе:

this.getContentResolver().notifyChange(uri, null); 

ваш код будет как:

case CameraUtils.REQUEST_GALLERY: 
Uri uri = data.getData(); 
this.getContentResolver().notifyChange(uri, null); 
ContentResolver cr = this.getContentResolver(); 
String fileName = FileUtils.getPath(this, uri); 
File from = new File(fileName); 
String directory = from.getParent(); 
File to = new File(directory, "newFile" + i + ".jpg"); 
from.renameTo(to); 
i++; 
Смежные вопросы