Не могу удалить файл с устройства

Не удаляется файл, хотя файл существует и в другом активити даже воспроизводится по точно такой же ссылке. Как правильно удалить файл?

String deletedFilePath = "file://" + fileList.get(position).getPath();

File deletedFile = new File(deletedFilePath);
if (deletedFile.exists()) {
    deletedFile.delete();
    Toast.makeText(this, "Файл успешно удален!", Toast.LENGTH_SHORT).show();
} else {
    Toast.makeText(this, "Не удалось удалить!", Toast.LENGTH_SHORT).show();
}

Ответы (1 шт):

Автор решения: Kolhoznik

Сделал в итоге так. Все работает. Правда есть косяк один, который не могу исправить. Если пользователь переименовал файл, то при попытке удалить дает ошибку.

String deletedFilePath = list.get(position).getPath();

File deletedFile = new File(deletedFilePath);

String[] projection = {MediaStore.Audio.Media._ID};
String selection = MediaStore.Audio.Media.DATA + " = ?";
String[] selectionArgs = new String[] { deletedFile.getAbsolutePath() };

Uri queryUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;

ContentResolver contentResolver = getContentResolver();

Cursor c = contentResolver.query(queryUri, projection, selection, selectionArgs, null);

if (c != null) {
    if (c.moveToFirst()) {
        long id = c.getLong(c.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
        Uri deleteUri = ContentUris.withAppendedId(queryUri, id);
        contentResolver.delete(deleteUri, null, null);
    } else {
        //
    }
    c.close();
}
→ Ссылка