以前做图片保存都是自己在手机根目录下建一个自己的文件夹,保存到自己的文件夹下,今天在写一个小功能时发现当将图片保存到相册默认的路径下时,打开手机相册并不显示保存成功的图片,于是经过各种查阅和百度发现原因如下:
因为手机系统相册是由手机本身的自带系统管理的,我们在进行自己app的操作时并不能直接控制手机的自带系统,所以即使存储图片成功了,在显示的时候手机并不知道图片库已经有更新,除非调用过手机摄像头拍摄,所以解决方案就是我们手动的发一个广播来通知手机系统图片有更新。发送广播的代码如下:
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(new File("新添加的图片地址"));
intent.setData(uri);
getApplicationContext().sendBroadcast(intent);
这样就成功啦