이것은 오래된 주제이지만 내 경험을 추가 할 것입니다. 누군가 도움이 될 수도 있습니다.
> 2019-11-12 20:05:50.178 27764-27764/com.strba.myapplicationx I/File: /storage/emulated/0/Android/data/com.strba.myapplicationx/files/Readings/JPEG_20191112_200550_4444350520538787768.jpg//file when it was created
2019-11-12 20:05:58.801 27764-27764/com.strba.myapplicationx I/File: content://com.strba.myapplicationx.fileprovider/my_images/JPEG_20191112_200550_4444350520538787768.jpg //same file when trying to delete it
solution1 :
Uri uriDelete=Uri.parse (adapter.getNoteAt (viewHolder.getAdapterPosition ()).getImageuri ());//getter getImageuri on my object from adapter that returns String with content uri
여기서 Content resolver를 초기화하고 해당 URI의 전달 된 매개 변수로 삭제합니다.
ContentResolver contentResolver = getContentResolver ();
contentResolver.delete (uriDelete,null ,null );
solution2 (내 첫 번째 솔루션-이번에는 머리에서 나온 것입니다.) : 콘텐츠 리졸버가 존재합니다 ...
String path = "/storage/emulated/0/Android/data/com.strba.myapplicationx/files/Readings/" +
adapter.getNoteAt (viewHolder.getAdapterPosition ()).getImageuri ().substring (58);
File file = new File (path);
if (file != null) {
file.delete ();
}
이것이 행복한 코딩에 도움이되기를 바랍니다.
inputHandle.getImgPath(id)
이다 적인 filePath