Я пытаюсь удалить файл песни из памяти телефона с помощью этого кода:
private void deleteSongs(){
String path = song.getPath();
File songFile = new File(path);
Log.d(TAG, "Song exists: " + songFile.exists());
Log.d(TAG, "Song is directory: " + songFile.isDirectory());
Log.d(TAG, "Song path: " + songFile.getPath());
Log.d(TAG, "Song name: " + songFile.getName());
if(songFile.delete())
Log.d(TAG, "Song deleted successfully by File.delete()");
else{
Log.d(TAG, "Can't delete file by File.delete()");
if(getActivity().deleteFile(songFile.getName()))
Log.d(TAG, "Song deleted successfully by Activity.deleteFile()");
else
Log.d(TAG, "Can't delete file by Activity.deleteFile()");
}
}
, но он не работает.Logcat говорит:
D/DeleteSongDialog: Song exists: true
D/DeleteSongDialog: Song is directory: false
D/DeleteSongDialog: Song path: /storage/emulated/0/Download/2 sekundowy film-20.m4a
D/DeleteSongDialog: Song name: 2 sekundowy film-20.m4a
D/DeleteSongDialog: Can't delete file by File.delete()
D/DeleteSongDialog: Can't delete file by Activity.deleteFile()
Решение с FileProvider не работает для Android> = 8.0, но работает, например, на Android 7.0.Может быть, у кого-то есть идея, что мне изменить в своем коде или @ CodeToLife ?
Заранее спасибо.