2

我想让用户选择将图像保存在他们的 sd 卡上,并且我希望能够计算这些图像的文件夹大小。我发现Environment.getExternalStorageDirectory()返回内部存储。我可以找到 SD 卡的唯一方法是使用ACTION_OPEN_DOCUMENT_TREE请求。但这意味着我必须使用 DocumentFiles 而不是常规文件。我只能获得内容 uri,而不是 sd 卡本身的直接路径。

因此,File.length()内部存储运行良好,但DocumentFile.length()外部存储运行速度极慢。有没有办法根据其内容 uri 获取文件夹的大小而不会永远占用它?或者我可以以某种方式找到 sd 卡的实际路径并改用 Files 吗?我找到了一个类似的文件夹,/storage/3857-3732但我似乎没有写入权限(是的,我有WRITE_EXTERNAL_STORAGE权限)。

4

0 回答 0