如何使用新的棒棒糖SD卡访问API删除和修改文件

时间:2016-01-21 10:56:55

标签: android android-5.0-lollipop android-sdcard android-5.1.1-lollipop

所以我有一个音乐播放器的应用程序。

用户多次播放歌曲并希望将其删除。很多时候,他发现有重复的文件,因此想删除它。 许多用户拥有超过数千首歌曲,如果用户必须指出他想要删除的文件的位置,那么它就不是一个合适的解决方案。

我遇到了这个How to use the new SD card access API presented for Android 5.0 (Lollipop)?

它告诉我们如何创建给定整个uri的文件。

但适当的解决方案是,如果他只能选择根目录(SD CARD)而不是整个路径并授予所需权限,应用程序可以管理其余部分。这正是我想要实现的目标。

鉴于我只有要删除的文件的文件路径和sd卡访问框架中根目录的uri,删除文件的最佳方法是什么? 甚至可能吗?或者每次用户必须删除文件时,他都必须确定该文件的位置?

1 个答案:

答案 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()