android - 已删除的图片在图库中仍然可见

标签 android libgdx gallery

我这里有一个小问题。

在我的应用程序中,我让用户从图库中选择一张图片。在做其他事情之前我会保存它的路径。 当用户选择他想要的图片时,我希望将其复制到其他文件夹中,然后从原始文件夹中删除。

嗯,它确实有效。原始图片将被删除,副本将出现在其他文件夹中。 但是。它还在那里。 删除的图片在图库中仍然可以看到,而副本看不到。当我调用Gdx.files.absolute(originalPath).exists()时返回 false,并且 Gdx.files.external(copyPath).exists() 返回 true,我可以毫无问题地处理图片的副本。

画廊似乎没有更新。

我用它来删除和复制图片:

public void MoveToCustomFolder() {
    if (DoesOriginalPathExist()) {
        if (!DoesCopyExist()) {
            System.out.println("Copying");
            Gdx.files.external("/CustomFolder/" + fileName).write(Gdx.files.absolute(filePath).read(), true);
        }
        System.out.println("Deleting");
        Gdx.files.absolute(filePath).delete();
    }
}

filePath 是图库中原始图片的绝对路径,fileName 是文件名(“picture.jpg”)

我在研究过程中发现了一些东西。当清除媒体存储应用程序的数据时,不久之后就会显示正确的图库,其中没有删除的图片并且具有它们所属的副本。

此外,我确实拥有 WRITE_EXTERNAL_STORAGE 权限。

你们知道出了什么问题吗?

最佳答案

找到解决方案。

我必须使用此功能更新图库:

public void UpdateGallery(String filePath) {
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(new File(filePath))));
}

关于android - 已删除的图片在图库中仍然可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26740628/

相关文章:

ios - 如何添加一个按钮以快速在键盘上访问照片库?

javascript - jQuery Gallery 将在 Firefox 和 Chrome 上本地显示,但无法在线工作

android - 设置android :extractNativeLibs=false to reduce app size

java - 如果不缩放 box2d 每米像素会发生什么?

html - 在 HTML 中垂直放置图片库而不是水平放置图片库

java - tmx映射仅将两个 block 渲染到屏幕中,其余全部为黑色

android - 错误屏幕上的 libgdx 触摸监听器

android - 未经 GET_ACCOUNTS 许可从 GoogleApiClient 获取 Google 帐户 token

android - Android中这两种拍照方式有什么区别?

android - 如何在Android中使用Parse实现RecyclerView的无限滚动