在项目中经常会要求用户选择图片来进行操作,但是安卓系统的图库应用却不会自动更新图库,比如调用系统相机进行拍照后将照片保存在自定义目录下。虽然图片成功保存在SD卡上,但是当你再次打开图库的时候却无法看到新拍照片。这是由于自己编写的应用没有更新图库数据库导致的。
这里解决的方法有以下几个:
1、4.0以下的版本可用调用系统挂载SD卡广播来进行图库更新,这种方法会使得图库应用重新扫描SD卡所有文件,如果图片太多,会导致系统非常卡。
Intent intent=new Intent();
intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
sendBroadcast(intent);
模拟系统发送SD卡发送广播这种方法只在4.0及其以下版本使用。
2、4.0以上版本则可利用MediaScannerConnection类来通知图库扫描图片,并加入其数据库。具体实现方式如下:
(1&#