因为项目需要,对文件进行操作完后,如果不手动立即刷新本地媒体库,本地查看是无法查看实时的效果,要重启手机,如果需要立即刷新本地媒体库,则调用以下代码:
package com.example.yzb.myapplication;
import android.content.Context;
import android.content.Intent;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.os.Build;
import java.io.File;
import static android.os.Build.VERSION.SDK_INT;
public class CompatibleUtils {
public static void updateMedia(final Context context, String path){
if(SDK_INT >= Build.VERSION_CODES.KITKAT){//当大于等于Android 4.4时
MediaScannerConnection.scanFile(context, new String[]{path}, null, new MediaScannerConnection.OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(uri);
context.sendBroadcast(mediaScanIntent);
}
});
}else{//Andrtoid4.4以下版本
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.fromFile((new File(path).getParentFile()))));
}
}
}
注意点:
①目前没有找到刷新多张图片方式,只有弄一张调一次
②如果要刷新整个存储空间的媒体库,则在path参数处传入Environment.getExternalStorageDirectory().toString();