2014-11-04 48 views
1

我在這裏有一個小問題。已刪除的圖片仍在圖庫中可見

在我的應用程序中,我讓用戶從圖庫中選擇一張圖片。在做其他事情之前,我先保存它的路徑。 當用戶選擇他想要的圖片時,我希望將其複製到其他文件夾中,然後從原始圖片中刪除。

那麼,它kiiinda的作品。原始圖片被刪除,副本出現在另一個文件夾中。 Buuut。它仍然在那裏。 被刪除的圖片仍然可以在圖庫中看到,並且副本無法看到。當我呼叫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是在畫廊的原始圖片的absolutePath和fileName的文件名(「picture.jpg」)

我在研究中發現了一些東西。清除媒體存儲應用程序的數據後,在一段時間後,正確的圖庫顯示出來,沒有刪除的圖片和所屬的副本。

此外,我有WRITE_EXTERNAL_STORAGE權限。

你們知道怎麼回事嗎?

回答

1

找到解決方案。

我不得不更新此功能的畫廊:

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