Android 捕获的图像未出现在库中

Android 捕获的图像未出现在库中,android,Android,我正在用相机拍摄图像。但是当我在画廊登记的时候它就不显示了 String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); Intent intent_cam = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); File imagesFolder = new File(Environment.getExternalSto

我正在用相机拍摄图像。但是当我在画廊登记的时候它就不显示了

String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());

Intent intent_cam = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);                    
File imagesFolder = new File(Environment.getExternalStorageDirectory() + File.separator + "App Photos");

Intent mediaScan = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);

if (!imagesFolder.exists()) {       

imagesFolder.mkdirs();          
File image = new File(imagesFolder, "App_" + timeStamp + ".png");
Uri uriSavedImage = Uri.fromFile(image);         
intent_cam.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);    
mediaScan.setData(uriSavedImage);
getActivity().sendBroadcast(mediaScan);
startActivityForResult(intent_cam, 0);           
}

else if (imagesFolder.exists()) {

File image = new File(imagesFolder, "App_" + timeStamp + ".png");
Uri uriSavedImage = Uri.fromFile(image);
intent_cam.putExtra(MediaStore.EXTRA_OUTPUT, uriSavedImage);
mediaScan.setData(uriSavedImage);
getActivity().sendBroadcast(mediaScan);
startActivityForResult(intent_cam, 0);    

}
舱单:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />


sendBroadcast在API 19中不再工作,这是真的吗。(4.4)?

在捕获图片之前,您正在调用扫描请求。回想一下,
startActivityForResult()
是异步的。将您的
sendBroadcast()
调用放入
onActivityResult()
,当摄像头活动将控制权返回给您时,将触发该调用。

这将在所有android版本中起作用:


MediaScannerConnection.scanFile(这个,新字符串[]{file.getPath()},新字符串[]{“image/jpeg”},null)

您是否尝试在onActivityResult()中执行媒体扫描发送广播谢谢。解决了我的问题。它在API 19中仍然有效吗。(4.4)?@luwionline:如果你指的是广播,那么是的,它在Android 4.4上工作。而这一个不工作?sendBroadcast(新的Intent(Intent.ACTION\u MEDIA\u挂载,Uri.parse(“文件:/”+Environment.getExternalStorageDirectory()))@卢维:对。这从来都不是一个合适的方法来索引你的文件,而且从Android 4.2开始,它只能通过系统应用程序进行广播。