我嘗試使用contentResolver刪除文件,但只刪除數據庫中的條目,而不是真正的文件。所以我嘗試先刪除條目然後刪除文件:從contentResolver刪除文件只刪除數據庫中的條目(不是文件)
int rows = context.getContentResolver().delete(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
MediaStore.Audio.Media._ID + "=" + idSong, null);
// Remove file from card
if (rows != 0) {
Uri uri = ContentUris.withAppendedId(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, idSong);
File f = new File(uri.getPath());
if(!f.delete())
Log.d("fail-2", "fail-2");
}
else
Log.d("fail-1", "fail-1");
...並且輸出是「fail-2」。爲什麼?
爲什麼ContentResolver不會刪除真實文件?這是正常的嗎?