所以我有一个音乐播放器的应用程序。
用户多次播放歌曲并希望将其删除。很多时候,他发现有重复的文件,因此想删除它。 许多用户拥有超过数千首歌曲,如果用户必须指出他想要删除的文件的位置,那么它就不是一个合适的解决方案。
我遇到了这个How to use the new SD card access API presented for Android 5.0 (Lollipop)?
它告诉我们如何创建给定整个uri的文件。
但适当的解决方案是,如果他只能选择根目录(SD CARD)而不是整个路径并授予所需权限,应用程序可以管理其余部分。这正是我想要实现的目标。
鉴于我只有要删除的文件的文件路径和sd卡访问框架中根目录的uri,删除文件的最佳方法是什么? 甚至可能吗?或者每次用户必须删除文件时,他都必须确定该文件的位置?
答案 0 :(得分:1)
您提到的链接(How to use the new SD-Card access API presented for Lollipop)提供了有关如何使用ACTION_OPEN_DOCUMENT_TREE
提示用户选择根目录的说明。
用户选择根节点后,您的代码将具有代表根节点的DocumentFile。你说你已经有了文件路径。如果是,则使用文件路径的片段,并使用DocumentFile.html#listFiles()按照层次结构中的路径。
您最终会拥有代表您要删除的文件的DocumentFile,然后拨打DocumentFile.html#delete()