Android创建图片图库不显示问题
2016-04-22 15:33
411 查看
Android创建图片后图库不显示
问题原因
创建图片时未插入数据到系统的Media Provider该数据库位于/data/data/com.android.providers.media/database/external.db
解决方案
1. 通过MediaSore的InsertImage方法插入图片信息
/** * Insert an image and create a thumbnail for it. * * @param cr The content resolver to use * @param imagePath The path to the image to insert * @param name The name of the image * @param description The description of the image * @return The URL to the newly created image * @throws FileNotFoundException */ public static final String insertImage(ContentResolver cr, String imagePath, String name, String description) throws FileNotFoundException {}
例如
try{ MediaStore.Images.Media.insertImage(getContentResolver(), file.getAbsolutePath(), fileName, null); } catch (FileNotFoundException e) { e.printStackTrace(); }
注:通过MediaStore插入图片数据时,系统会在 /DCIM/Camera 路径下生成一张缩略图,插入的数据Data也是该缩略图的路径,而并非原路径,而该方法的返回值便是缩略图Uri.toString()。所以当你删除原图片时,图库里的图也不会被删除。
2. 发送广播给Media Scanner,让其扫描该媒体文件
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath())));
注:这种方式插入的数据是原图片路径且不会生成缩略图,所以当你删除原文件夹图片时,图库中的图片也会被删除。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件