将照片保存到DCIM /相机 - 为什么它们不会出现在照片应用中?

时间:2014-10-06 13:19:06

标签: android camera

我有自定义相机应用。

我使用FOS保存图像(在完成一些处理之后),写下我在使用OpenCV Mat来操作图像后获得的jpeg字节:

File photo=new File(dir, getFileName()); // [external_storage]/DCIM/Camera/id.jpg
FileOutputStream fos=new FileOutputStream(photo.getPath());
fos.write(jpeg[0]);
fos.close();

使用文件管理器,我可以看到图像已正确保存到DCIM/Camera目录,以及使用Google相机应用拍摄的照片。但是,它们未显示在手机上的“照片”应用中。我是否需要为此设置某种EXIF数据,或者还有其他事情发生?

2 个答案:

答案 0 :(得分:1)

保存照片后,添加此行以让照片应用知道有新照片:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + photo.getAbsolutePath())));

答案 1 :(得分:0)

缺少的是保存文件后图库未刷新。

这是一个小片段

sendStickyBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

并在androidmanifest.xml中添加permisions