将照片保存到DCIM /相机 - 为什么他们没有出现在照片应用程序?
问题描述:
我有一个自定义相机应用程序。将照片保存到DCIM /相机 - 为什么他们没有出现在照片应用程序?
我保存图像使用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();
使用文件管理器,我可以看到图像正确保存到DCIM/Camera
目录以及使用Google相机应用拍摄的照片。但是,它们不会显示在手机上的照片应用程序中。我是否需要为此设置某种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
添加permisions