Android MediaScanner:从图库中删除图像文件

时间:2014-04-08 17:38:51

标签: android image android-gallery mediastore android-mediascanner

我正在开发一个应用程序,它隐藏了库存应用程序中的图像文件。 同样,我正在创建一个 .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)

感谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我将.nomedia文件添加到我们应用的根文件夹中,大约一天后(重启似乎可以更快地发生这种情况),文件已从用户的图库中删除,而没有任何其他调用媒体扫描程序。

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