Android 10以上,保存视频通知到相册
Posted microhex
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 10以上,保存视频通知到相册相关的知识,希望对你有一定的参考价值。
代码如下:
public static void videoSaveToNotifyGalleryToRefreshWhenVersionGreaterQ(Context context, File destFile)
ContentValues values = new ContentValues();
Uri uriSavedVideo;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
values.put(MediaStore.Video.Media.RELATIVE_PATH, "Movies/Folder");
values.put(MediaStore.Video.Media.TITLE, destFile.getName());
values.put(MediaStore.Video.Media.DISPLAY_NAME, destFile.getName());
values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
values.put(MediaStore.Video.Media.DATE_ADDED, System.currentTimeMillis() / 1000);
values.put(MediaStore.Video.Media.DATA, destFile.getAbsolutePath());
Uri collection = MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY);
uriSavedVideo = context.getContentResolver().insert(collection, values);
else
values.put(MediaStore.Video.Media.TITLE, destFile.getName());
values.put(MediaStore.Video.Media.DISPLAY_NAME, destFile.getName());
values.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
values.put(MediaStore.Video.Media.DATE_ADDED, System.currentTimeMillis() / 1000);
values.put(MediaStore.Video.Media.DATA, destFile.getAbsolutePath());
uriSavedVideo = context.getContentResolver().
insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
values.put(MediaStore.Video.Media.DATE_TAKEN, System.currentTimeMillis());
values.put(MediaStore.Video.Media.IS_PENDING, 1);
ParcelFileDescriptor pfd;
try
pfd = context.getContentResolver().openFileDescriptor(uriSavedVideo, "w");
FileOutputStream out = new FileOutputStream(pfd.getFileDescriptor());
FileInputStream in = new FileInputStream(destFile);
byte[] buf = new byte[8192];
int len;
while ((len = in.read(buf)) > 0)
out.write(buf, 0, len);
out.close();
in.close();
pfd.close();
catch (Exception e)
e.printStackTrace();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
values.clear();
values.put(MediaStore.Video.Media.IS_PENDING, 0);
context.getContentResolver().update(uriSavedVideo, values, null, null);
以上是关于Android 10以上,保存视频通知到相册的主要内容,如果未能解决你的问题,请参考以下文章
Android 保存资源图片到相册最新写法适用于Android10.0及以上