0

콘텐츠 리졸버의 삭제 방법을 사용하여 이미지 파일을 삭제하려고했습니다. 그것은 삭제되었음을 나타내지 만 이미지 폴더를 체크인 할 때 아무런 차이가 보이지 않습니다. 로그 캣에서 콘텐츠 리졸버는 이미지 파일을 삭제할 수 없습니다.

int id = getLastImageId(); 
    int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,  
    MediaStore.Images.Media._ID + "=?", new String[]{ Long.toString(id) }); 
    Log.i("", "total deleted rows:" + deleted); 

, 내가 그 총 삭제 된 행을 볼 수있는 것은 당신은 getLastImageId 방법이 올바른지 보증합니다 1입니다. 게다가 나는 심지어 MediaStore 테이블의 모든 것을 삭제하려고했지만 아무 소용이 없다. 예를 들어이 예를 들어

int id = getLastImageId(); 
    int deleted = getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,  
    null, null); 
    Log.i("", "total deleted rows:" + deleted); 

, 삭제 전체 행이 내 휴대 전화의 모든는 여전히 이미지가 지속되는, 834입니다. 참고로, 내가 조사하고있는 이미지는 sdcard/DCIM/Camera에 있습니다.

도움을 얻으려고합니다.

안부, 덱스터

답변

0

나는 코드 만 MediaStore.Images.Media 테이블 테이블이 아닌 실제 이미지에서 데이터를 삭제하고 있다고 생각.

이미지의 절대 경로를 제공하는 MediaStore.Images.Media.DATA 필드를 쿼리하면됩니다.

그런 다음 일반 파일을 삭제하는 것처럼 파일을 삭제하십시오.

+0

나는 무슨 일이 있었는지는 모르겠지만 전화를 다시 시작한 후에는 예상대로 작동하고 있습니다. getContentResolver(). delete는 실제로 이미지를 삭제하기에 충분합니다. 어쨌든 고마워! – user3300845

+0

좋습니다. 다행 이군. –

관련 문제