我们很多app会有保存图片和保存视频,保存成功后一般在最近文件或者相册就能看到了,这个需要我们在保存文件后自行刷新到相册中,以前老版本方法通过广播刷新方法在API29中已经废弃了无法使用,咱们提供了新版本方法如下图:
//说明第一个参数上下文,第二个参数是文件路径例如:/storage/emulated/0/1621832516463_1181875151.mp4 第三个参数是文件类型,传空代表自行根据文件后缀判断刷新到相册
MediaScannerConnection.scanFile(context, new String[]{fileNamePath}, null, new MediaScannerConnection.OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
//刷新成功的回调方法
Log.e("资源刷新成功路径为", path)
}
});
看下Google官方说明文档
Google官方文档说明需要科学上网:MediaScannerConnection.scanFile方法说明
Google官方文档说明无需科学上网:MediaScannerConnection.scanFile方法说明
看下完整代码:
package cn.xiayiye5.xiayiye5library.utils;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Intent;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
/**
* @author : xiayiye5
* @date : 2021/5/21 17:45
* 类描述 :
*/
public class DownLoadUtils {
public static final String IMG_URL = "https://ae01.alicdn.com/kf/Ua227945b506241af975a9b0a16d6df3bA.jpg";
public static final String VIDEO_URL = "https://www.w3school.com.cn/example/html5/mov_bbb.mp4";
private DownLoadUtils() {
}
public static DownLoadUtils getInstance() {
return Sing