Android ACTION_MEDIA_SCANNER_SCAN_FILE直到重启才显示图像?

时间:2014-07-12 15:34:19

标签: android android-intent android-mediascanner

我目前正在开发一个Android应用程序,用户可以在设备上拍摄存储在外部存储器中的图片,然后我也试图让图库扫描文件以将新媒体添加到图库但是这似乎不是更新,直到设备重新启动。

我使用的代码如下:

    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Log.v("INFO", mCurrentPhotoPath.toString());
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);

使用我的应用程序拍照后,我可以使用设备上的文件管理器应用程序验证它是否存在,并且在将文件传递给Media Scanner之前记录它看起来是正确的文件路径

file:/storage/emulated/0/Pictures/JPEG_20140712_163043_1418054327.jpg

谢谢Aaron

2 个答案:

答案 0 :(得分:2)

我设法解决了这个问题。问题是由于我设置了mCurrentPhotoPath。所以我更新了代码以使用

photoFile = createImageFile();
mCurrentPhotoPath = photoFile.getAbsolutePath();

答案 1 :(得分:1)

媒体扫描程序会在调用sendBroadcast后扫描并插入显示结果,您可以使用MediaScannerConnection方法onScanCompleted 然后检查图库中的图像。 有关更多参考,请参阅Link