2014-11-04 5 views
1

여기에 작은 문제가 있습니다.삭제 된 사진이 여전히 갤러리에 표시됩니다.

내 응용 프로그램에서 사용자가 갤러리에서 그림을 선택하게했습니다. 나는 다른 일을하기 전에 그것에 대한 경로를 저장합니다. 사용자가 원하는 그림을 선택하면 다른 폴더에 복사 된 다음 원래 폴더에서 삭제되기를 원합니다.

글쎄, 그것은 작동합니다. 원본 그림이 삭제되고 복사본이 다른 폴더에 나타납니다. 부이 (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)))); 
} 
:

나는이 기능 갤러리를 업데이트했다
관련 문제