9

我目前正在开发一个 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

谢谢亚伦

4

2 回答 2

1

我设法解决了这个问题。问题出在我设置 mCurrentPhotoPath 的位置。所以我更新了要使用的代码

photoFile = createImageFile();
mCurrentPhotoPath = photoFile.getAbsolutePath();
于 2014-07-12T16:49:25.727 回答
0

媒体扫描仪需要一些扫描并在调用后插入显示结果,sendBroadcast您可以使用MediaScannerConnection方法onScanCompleted 然后检查图库中的图像。如需更多参考,请点击链接

于 2016-08-10T12:23:24.497 回答