android 保存图片以后发广播,Android 保存图片或视频到相册并刷新相册

在做项目时,有时会有这样的需求,需要将用户保存的图片和视频文件,能及时在相册中展示和查看,此时如果没有通知相册更新,就不会及时查看到相册中保存的这种图片。那么我们的应用程序如何通知相册刷新并且用户可以及时在相机中找到刚才保存的图片呢?

方式一:使用 MediaScannerConnection

// 扫描本地mp4文件并添加到本地视频库

MediaScannerConnection mMediaScanner = new MediaScannerConnection(this, null);

mMediaScanner.connect();

if (mMediaScanner !=null && mMediaScanner.isConnected()) {

mMediaScanner.scanFile(outputFile, Constants.VIDEO_MIME_TYPE_MP4);

}

方式二:发送广播通知图库更新

File cameraPath =new File(IOUtils.getDCIMDirectory(), "Camera");

File imgFile =new File(cameraPath, imagePath);

if (imgFile.exists()) {

Uri uri = Uri.fromFile(imgFile);

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);

intent.setData(uri);

sendBroadcast(intent);

}

测试结果:

在 Android 8.0 机型部分手机如 vivo x9i 使用上面的两种方式,保存视频到相册时都无法刷新相册,保存图片可行。目前猜测原因为 保存视频的文件夹在图库对视频展示做了限制。

Tips:

能使用方式一就尽量使用方式一,方式一不会通知整个图库进行刷新操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值