>在我的应用中,我最初从图库中加载了所有图像,即(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.