我使用下面的行来获取缩略图:
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也获得新文件名。 但缩略图显示错误。 如何获得正确的缩略图?
答案 0 :(得分:1)
可能导致缩略图不被删除。
并且重命名之后的文件具有相同的id。
所以显示旧的缩略图。
您可以尝试清除/sdcard/DCIM/.thumbnails
文件夹,然后创建一个新文件夹。