【问题标题】:Android MediaScanner: Remove image file(s) from galleryAndroid MediaScanner:从图库中删除图像文件
【发布时间】:2014-05-21 13:56:58
【问题描述】:

我正在开发一个在图库应用中隐藏图像文件的应用。 同样,我正在创建一个 .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 还是你?
  • 如果您找到了解决方案,请分享您的答案,期待它..
  • 我只是不使用。 nomedia 文件从其原始位置剪切文件并使用其他一些自定义扩展名重命名它,当想要再次显示它时只需更改扩展名。如果例如我的图片是 pic1.jpg 我将它保存为 pic1.aaa 这样画廊就找不到它

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


【解决方案1】:
【解决方案2】:

我将.nomedia 文件添加到我们应用程序的根文件夹中,大约一天后(重新启动似乎使这发生得更快)文件从用户的图库中删除,而无需对媒体扫描仪进行任何其他调用。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多