我有自定义相机应用。
我使用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数据,或者还有其他事情发生?
答案 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