I'm trying to delete song file from memory phone memory by this code:
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()");
}
}
but it doesn't work. Logcat says:
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()
The solution with FileProvider doesn't work for Android >= 8.0 but works on Android 7.0 for example. Maybe somebody has an idea what should I change in my or @CodeToLife code?
Thanks in advance.