我正在尝试通过文件Uri删除文件,但我不知道如何为此文件添加标志(我是Android新手)。
我的应用程序管理媒体文件和其他文件。
我已经按照Mediastore API文档的说明成功删除了媒体文件。但对于其他文件,则需要使用存储访问框架。
因此,我会像这样获取文件的Uri:
Uri contentUri = ContentUris.withAppendedId(MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL), id);
然后我想像这样删除它:
DocumentsContract.deleteDocument(getContentResolver(), uri);
然而,它不起作用是因为我没有将FLAG_SUPPORTS_DELETE添加到文件中。而我不知道如何做到这一点。
我已经多次阅读了存储访问框架文档以及stackoverflow上的各种帖子,但我没有找到任何可以帮助我的东西(我是Android新手)。
https
URL。 “当我尝试使用此代码删除非媒体文件时,我会收到一个错误,告诉我只能删除媒体文件” - 然后使用ACTION_OPEN_DOCUMENT
,ACTION_OPEN_DOCUMENT_TREE
和DocumentFile
来使用存储访问框架。 - CommonsWareandroid 11.0
下删除非媒体文件,我必须通过存储访问框架进行操作?还是有其他方法?请注意,我也拥有该文件的路径。 - Antoine Hazebrouck