Sur*_*cse 5 android mediastore android-contentresolver
我正在使用 MediaStore.Files 在 InternalStorage/Documents/MyFolderName/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);
Run Code Online (Sandbox Code Playgroud)
我能够创建该 xyz.pdf 文件
但是,为了删除我正在使用的文件
getActivity().getContentResolver().delete(fileUriToDelete, null, null);
Run Code Online (Sandbox Code Playgroud)
以上已从 MediaStore.Files 的数据库中删除,但无法删除文件系统中的该文件。
由于该文件仍然在以下位置可用:InternalStorage/Documents/MyFolderName 这种情况仅在 Android 10 中发生。在 Android 11 中,该文件将从文件系统以及 MediaStore.Files db 中删除
小智 0
[请确保将您的清单设置为与它相同,与我遇到的问题相同我的文件在 Android 11 上删除,但在 Android 10 上未删除,然后我启用状态并添加此标签,然后指定写入权限
<android:requestLegacyExternalStorage="true"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage"
android:maxSdkVersion="28"/>`
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
1377 次 |
| 最近记录: |