Android 将照片保存到DCIM/摄像头-为什么不';他们不会出现在照片应用程序中吗?

Android 将照片保存到DCIM/摄像头-为什么不';他们不会出现在照片应用程序中吗?,android,camera,Android,Camera,我有一个定制的相机应用程序 我正在使用FOS保存图像(在进行一些处理后),写入使用OpenCVMats处理图像后获得的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(); 使用文件管理器

我有一个定制的相机应用程序

我正在使用FOS保存图像(在进行一些处理后),写入使用OpenCV
Mat
s处理图像后获得的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();

使用文件管理器,我可以看到图像与使用Google Camera应用程序拍摄的照片一起正确保存到
DCIM/Camera
目录。但是,它们不会显示在手机的照片应用程序中。我是否需要为此设置某种EXIF数据,或者是否有其他情况发生?

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

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

缺少的是,在保存文件后,库不会刷新

下面是一个小片段

sendStickyBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
并在androidmanifest.xml中添加权限