重命名照片的文件名,但缩略图错误

时间:2012-03-15 09:51:36

标签: android thumbnails

我使用下面的行来获取缩略图:

bitmap = MediaStore.Images.Thumbnails.getThumbnail(act.getApplicationContext().getContentResolver(), fid, MediaStore.Images.Thumbnails.MICRO_KIND, null);

我尝试使用以下代码重命名文件名:

File rename = new File(oldname);
String newpath = newname;
rename.renameTo(new File(newname));

使用以下代码更新数据库:

IntentFilter intentfilter = new IntentFilter(Intent.ACTION_MEDIA_SCANNER_STARTED);
intentfilter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
intentfilter.addDataScheme("file");
MediaScannerReceiver scanSdReceiver = new MediaScannerReceiver();
registerReceiver(scanSdReceiver, intentfilter);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath()))); 

public class MediaScannerReceiver extends BroadcastReceiver {  
@Override  
public void onReceive(Context context, Intent intent) {  
String action = intent.getAction();
if(action.equals("android.intent.action.MEDIA_SCANNER_FINISHED")) { 
bitmap = MediaStore.Images.Thumbnails.getThumbnail(act.getApplicationContext().getContentResolver(), fid, MediaStore.Images.Thumbnails.MICRO_KIND, null);
}
} 
}  

文件名更改成功,文件ID也获得新文件名。 但缩略图显示错误。 如何获得正确的缩略图?

1 个答案:

答案 0 :(得分:1)

可能导致缩略图不被删除。 并且重命名之后的文件具有相同的id。 所以显示旧的缩略图。 您可以尝试清除/sdcard/DCIM/.thumbnails文件夹,然后创建一个新文件夹。