gpt4 book ai didi

android - DownloadManager直接进入外部存储目录

转载 作者:行者123 更新时间:2023-11-29 16:01:09 26 4
gpt4 key购买 nike

例如,我正在尝试直接在外部存储目录中下载一个大的 zip 文件

"/mnt/sdcard/Android/data/com.vexdev.audioguida.app/files/data"

我想我应该用

DownloadManager.Request.setDestinationInExternalPublicDir(path, fileName)

但我不知道如何为它提供在不同 Android 设备之间保持一致的路径。

而且我也在尝试获取稍后访问此文件的路径,如下所示:

File file = new File(path + fileName);

我在这里问是因为我知道这两种方法需要不同的根路径,因为我试图提供这样的路径:

Application.getAppContext().getExternalFilesDir(Environment.getDataDirectory().getAbsolutePath()).getAbsolutePath();

但 DownloadManager 并未将文件放在文件构造函数稍后搜索它的位置。 (其实是下载错目录了!)

我正在寻找一种直接将这些文件下载到正确目录中而无需移动它们的方法。

最佳答案

i guess i should be using DownloadManager.Request.setDestinationInExternalPublicDir(path, fileName)

不适用于您建议的位置。更接近的匹配将是 setDestinationInExternalFilesDir() .

but i don't know how to provide it with a path that is consistent across different android devices.

甚至没有在一台设备中保持一致的路径,因为不同的帐户会使用不同的路径。例如,您在问题中输入的路径可能用于某些帐户的某些设备,但细节会有所不同。

i'm also trying to get a path to access this file later

DownloadManager.Request 文档中介绍了这一点:

  • setDestinationInExternalFilesDir() 映射到 Context

    上的 getExternalFilesDir()
  • setDestinationInExternalPublicDir() 映射到 Environment

    上的 getExternalStoragePublicDirectory()

i tried to provide a path like this

这不是您使用 getExternalFilesDir() 的方式。请阅读the JavaDocs查看该方法的参数的有效值是什么。 getDataDirectory() 不是有效值。

关于android - DownloadManager直接进入外部存储目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24563776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com