Android 媒体扫描程序:从相册中删除图像文件

13

我正在开发一个应用程序,可以将图像文件隐藏在库存图库应用程序中。 为此,我正在创建一个.nomedia文件并要求MediaScanner进行更新。

这种技术适用于需要显示隐藏文件的情况,即删除.nomedia文件并扫描该文件夹中的每个文件以在图库中显示。但是,当我想要隐藏图像时,放置.nomedia文件,然后要求MediaScanner扫描该文件夹中的所有文件并不能将这些图片从图库中隐藏。

我正在使用以下代码来扫描文件

private void refreshPic(String path) {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(path);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}

我是否正在正确地执行它?或者从Media Store中删除文件是否需要其他步骤?

测试设备:Nexus 5(4.4.2)

谢谢。


你曾经找到那个问题的解决方案吗? - DominicM
你找到解决方案了吗?@DominicM 还是你找到了? - Gaurav Pangam
如果你找到了解决方案,请分享你的答案,我迫不及待地等待着。 - Gaurav Pangam
我不使用.nomedia文件,而是将文件从原始位置剪切并重命名为其他自定义扩展名。当需要再次显示它时,只需更改扩展名即可。例如,如果我的图片是pic1.jpg,我将其保存为pic1.aaa,这样相册就找不到它了。 - bryan c
2个回答


0

我将.nomedia文件添加到我们应用程序的根目录中,一天或更长时间后(重新启动似乎可以加快此过程),文件就会从用户的图库中删除,而不需要调用媒体扫描器进行其他处理。

在Android 4.4.2和6.0.1上看到了这种行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接