Android 下载到APP私有目录的图片和视频同步到手机图库相册

news/2024/11/17 4:52:55/
//下载到本地私有目录的代码省略
if (file.getAbsolutePath().contains("MP4")) {copyFileToGallery(file, file.getName());} else {MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), BitmapFactory.decodeFile(file.getAbsolutePath()), file.getName(), null);Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);Uri uri11 = Uri.fromFile(file);intent.setData(uri11);getActivity().sendBroadcast(intent);}private void copyFileToGallery(File file, String fileName) {Uri uriSavedVideo;ContentResolver resolver = getActivity().getContentResolver();ContentValues valuesVideos;valuesVideos = new ContentValues();if (Build.VERSION.SDK_INT >= 29) {valuesVideos.put(MediaStore.Video.Media.RELATIVE_PATH, "Movies/" + "kacam");valuesVideos.put(MediaStore.Video.Media.TITLE, fileName);valuesVideos.put(MediaStore.Video.Media.DISPLAY_NAME, fileName);valuesVideos.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");valuesVideos.put(MediaStore.Video.Media.DATE_ADDED, System.currentTimeMillis() / 1000);valuesVideos.put(MediaStore.Video.Media.DATE_TAKEN, System.currentTimeMillis());valuesVideos.put(MediaStore.Video.Media.IS_PENDING, 1);Uri collection = MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY);uriSavedVideo = resolver.insert(collection, valuesVideos);} else {valuesVideos.put(MediaStore.Video.Media.TITLE, fileName);valuesVideos.put(MediaStore.Video.Media.DISPLAY_NAME, fileName);valuesVideos.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");valuesVideos.put(MediaStore.Video.Media.DATE_ADDED, System.currentTimeMillis() / 1000);//valuesVideos.put(MediaStore.Video.Media.DATA, file.getAbsolutePath());uriSavedVideo = resolver.insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, valuesVideos);}ParcelFileDescriptor pfd;try {pfd = resolver.openFileDescriptor(uriSavedVideo, "w");FileOutputStream out = new FileOutputStream(pfd.getFileDescriptor());FileInputStream in = new FileInputStream(file);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 >= 29) {valuesVideos.clear();valuesVideos.put(MediaStore.Video.Media.IS_PENDING, 0);resolver.update(uriSavedVideo, valuesVideos, null, null);}}


http://www.ppmy.cn/news/861223.html

相关文章

Android 图片下载工具类

public class DownGoodsImage {private Context context;private String filePath;private String fileName;private Bitmap mBitmap;private String mSaveMessage "失败";private final String TAG "DOWNLOADIMG";private ProgressDialog mSaveDialog …

关于下载图片

1. 后端返回的图片链接如下(单张或者多张): // 单张图片 images: "/api-sysfile/sys/file/download?filePath2852_一.1.png" // 多张图片 images: "/api-sysfile/sys/file/download?filePath2852_一.1.png,/api- sysfile/sys/file/download?filePath2852_二…

安卓 Android 下载网络图片保存到本地

通过网络地址获取网络图片&#xff0c;点击下载将图片显示出来&#xff0c;然后点击图片将图片保存到本地。 首先需要在manifest上添加一些权限&#xff1a; <!-- 访问网络的权限 --> <uses-permission android:name"android.permission.INTERNET"> &l…

uniapp下载图片

咱们要做的主要是点击某个地方下载图片&#xff0c;点击按钮&#xff0c;会把图片下载到手机本地 下面是JS的实现代码 首先绑定事件 然后下面就是 //下面方法请写在你定义的方法中 uni.showLoading({title: 下载中...,mask: true})//提示 uni.downloadFile({ url: url, // 这里…

图片下载

// 图片下载函数public static String makeImg(String imgUrl, String fileURL) {String imgFile"";try {// 创建流BufferedInputStream in new BufferedInputStream(new URL(imgUrl).openStream());// 生成图片名int index imgUrl.lastIndexOf("/");Str…

Taro 下载图片到手机

最近需要做一个微信下载图片到手机的需求&#xff0c;因为涉及到微信的照片权限&#xff0c;因此做个记录 // 鉴权操作 判断是否有保存到相册的权限 // 有就直接下载 没有就弹窗提示给权限 downImg() {Taro.getSetting({success: res > {if(!res.authSetting[scope.writePh…

Android下载网络图片资源

从网络下载图片资源在各种APP中很常见&#xff0c;比如很多APP都有广告轮番功能&#xff0c;这些广告图片通常是从服务器获取的&#xff0c;这里就需要从服务器上下载图片资源并显示。 一、获取网络图片并下载到本地&#xff1a; 代码&#xff1a;MainActivity.java&#xff…

android图片下载器

android图片下载器 页面布局 <span style"white-space:pre"> </span><TextViewandroid:layout_width"match_parent"android:layout_height"wrap_content"android:text"图片下载器" android:gravity"center"a…