Android 10:contentResolver.delete()未从文件系统中删除文件

kx5bkwkv  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(278)

我正在使用MediaStore.Files在内部存储/文档/我的文件夹名称/xyz. pdf中创建文件
使用

ContentValues contentValues = new ContentValues();
        contentValues.put(MediaStore.Files.FileColumns.DISPLAY_NAME, fileName);
        contentValues.put(MediaStore.Files.FileColumns.MIME_TYPE, fileType);
        contentValues.put(MediaStore.Files.FileColumns.IS_PENDING, 1);
        contentValues.put(MediaStore.Files.FileColumns.RELATIVE_PATH, dstPublicDirectory + File.separator + dstSubDirectory);

        // Getting content uri for the file

        Uri dstFileUri = resolver.insert(MediaStore.Files.getContentUri("external"), contentValues);

我可以创建xyz.pdf文件
但是为了删除我正在使用的文件

getActivity().getContentResolver().delete(fileUriToDelete, null, null);

上述文件将从MediaStore.Files的数据库中删除,但无法在文件系统中删除该文件。
由于该文件仍在以下版本中可用:InternalStorage/Documents/MyFolderName这仅在Android 10中发生。在Android 11中,该文件将从文件系统和MediaStore中删除。

t98cgbkg

t98cgbkg1#

[请确保设置您的清单与它相同,相同的这个问题,我面临的我的文件在Android 11上删除,但没有在Android 10上删除,然后我启用的状态,并添加此标记所以并指定写权限与

<android:requestLegacyExternalStorage="true"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage"
 android:maxSdkVersion="28"/>`

相关问题