Android 保存图片到系统及相关问题的解决方案
2019独角兽企业重金招聘Python工程师标准>>>
在应用的图集中,通常会给用户提供保存图片的功能,让用户可以将自己喜欢的图片保存到系统相册中.
这个功能其实很好做,系统提供了现成的API:
简单的来说就这一行代码:
MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", "");
这个方法的返回值及为插入图片的路径
String url = MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", "");
但是在很多机器(比如G7,G11)上调用之后,进入相册并看不到刚才保存的那张图片,需要将机器重启后在系统相册中才会显示出来,大大影响了用户体验
这是由于机器系统缓存的问题.需要我们在插入图片之后往刷新下相册环境:
这里有两种方法:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
或者:
final MediaScannerConnection msc = new MediaScannerConnection(mContext, new MediaScannerConnectionClient() {
public void onMediaScannerConnected() {msc.scanFile("/sdcard/image.jpg", "image/jpeg");
}
public void onScanCompleted(String path, Uri uri) {msc.disconnect();
}
});
这里要注意的是,发送广播或者直接调用扫描整个SD卡,实际上效率会比较低,也会增加耗电量.
上面提到,插入图片的方法对应的返回值为图片保存的绝对路径. 因此我们只要获取该路径,发送广播扫描该路径即可.
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()+ picPath)));
转载于:https://my.oschina.net/yuhanxun/blog/152773
Android 保存图片到系统及相关问题的解决方案相关推荐
- android 6.0获取图片地址,Android应用开发Android 保存图片到系统相册(三星6.0有效)...
Android 保存图片到系统相册(三星6.0有效).今天要做一个保存图片到系统图库的功能,自身能力较浅,所以只能搜索了但发现网上的方法有几处bug,所以自己总结一下防止以后忘掉也想和大家分享一下 ...
- android 系统相册 多远,【系统相册】Android 保存图片到系统相册
保存完图片后,可以在内存设备的文件系统相册目录下看到对应图片(以小米手机为例,系统相册的路径为:/storage/emulated/0/DCIM/Camera).但是,使用系统图库无法马上看到该图片, ...
- Android保存图片到系统相册
先说一下思路,我是这样做的,先保存一张图片到可写路径下,用cocos2d的节点截屏功能,保存之后就可以 保存Bitmap到本地指定路径下 ,然后通过广播,通知系统相册图库刷新数据. 先说如何节点截屏: ...
- Android 保存图片到系统相册(三星6.0有效)
今天要做一个保存图片到系统图库的功能,自身能力较浅,所以只能搜索了但发现网上的方法有几处bug,所以自己总结一下防止以后忘掉也想和大家分享一下. 首页网上保存图片并插入系统图库的方法: // 首先保存 ...
- Android保存图片到系统图库
原文->http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ 最近有些用户反映保存图片之后在 ...
- [Android Pro] Android保存图片到系统图库
http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ http://blog.csdn.net/x ...
- android保存图片到系统相册及图库更新
public static void saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片 File appDir = ...
- android保存图片至系统相册
0. 写在前面 最近需要做这个功能,然后在网上找了下资料,这篇博文不错,写的比较全而且比较清楚,自己也试了,没问题,转载过来,下次还要用不用再找了! 转载自http://blog.csdn.net/x ...
- 直播视频app源码,保存图片到系统相册
直播视频app源码,保存图片到系统相册相关的代码 public static void saveImageToGallery(Context context, Bitmap bmp) {// 首先保存 ...
最新文章
- 数据格式、类型系统与展示
- 【Linux入门到精通系列讲解】Ubuntu下使用gcc编译并运行C程序
- XML和HTML的不同点
- .net core razor ajax,.NET CORE Razor Pages Ajax 调用 C# 方法
- servlet为什么要别名呢_servlet --2
- STL map 内存改变,迭代器失效,_Isnil(_Ptr)和红黑树
- python 数据结构 基础
- Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
- 找不org.apache.commons.lang3.builder.EqualsBuilder和commons-lang下载链接
- php多条件查询统计,PHP-----多条件查询
- 算法设计与分析(第2版)屈婉玲 刘田 张立昂 王捍贫编著 第二章课后习题答案
- 角色和武器Shader特效开发
- springboot通过date_histogram 按时间统计数据
- 银联权益信息API接口及管理平台解决方案相关介绍
- 多张图片怎么同时修改dpi?教你一键批量修改图片dpi
- java集成kettle 9.2.0开发
- P1551 亲戚(并查集)
- 根据身份证解析出生年月
- 项目上线后,接口报错:SELECT command denied to user ‘用户名’ @ localhost‘ for table ‘ ‘
- matlab标量数据,可视化标量三维体数据的方法