在我的应用中,我最初从图库中加载所有图像,即(MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
用户可以通过我的应用程序拍照,但是我有一个自定义相机,即我不使用默认的手机相机拍照,我有自己的表面视图,我直接处理Camera对象,并处理相机图片。我将此图像保存在自定义文件夹中。
我希望新拍摄的图片在用户返回到我的应用后出现在我的画廊中


问题:
新拍摄的图片没有出现在我用MediaStore.Images.Media.EXTERNAL_CONTENT_URI加载的光标中

仅当我重新安装应用程序并强制重新扫描时,问题才消失。

我该如何解决?我希望立即拍摄的每张照片都出现在我的光标中吗?

我已经做了一些研究,但是不要用如下所示的startactivity解决方案告诉我contentvalues

 startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);


这不起作用,因为同样,我有自己的摄像头,我没有使用手机的默认摄像头活动

我也试过了

 getContentResolver().notifyChange(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null);


这也不起作用

有人可以帮忙吗?

谢谢

最佳答案

您只需要发送广播“ ACTION_MEDIA_SCANNER_SCAN_FILE”,以便mediascanner可以扫描您保存的图像。

 Intent mediaScanIntent = new Intent( Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
 mediaScanIntent.setData(uri);
 sendBroadcast(mediaScanIntent);


只需设置新创建图像的uri。 :)

07-27 13:39