【问题标题】:Android Download Manager to Media StoreAndroid 下载管理器到媒体商店
【发布时间】:2021-11-06 13:48:08
【问题描述】:

我正在通过 DownloadManager 下载文件,然后可以查询 MediaStore 并看到它是自动添加的。

问题是我看不出它们如何匹配。下载 id 与媒体 id 不同,下载 url 与媒体商店 url 不同。

我应该如何匹配从 DownloadManager 下载的项目与在 MediaStore 中创建的记录?

【问题讨论】:

    标签: android kotlin android-download-manager android-storage


    【解决方案1】:

    是的,如果由不同的提供者/机构提供服务,同一文件会有不同的 uri。

    而且 id 确实也可以不同。如果有id。

    如果您通过 SAF 选择文件,则会再次出现不同的 uri。

    我不清楚你想要什么或需要什么。

    如果您正在寻找匹配项,请比较 .DISPLAY_NAME.RELATIVE_PATH

    【讨论】:

    • 通过 DownloadManager 下载文件后,我需要媒体 ID。我想我可以使用文件名,但这并不准确,因为(我认为)媒体存储中的文件可能具有相同的名称。
    • 是的。这就是为什么您也应该对文件夹使用 .RELATIVE_PATH 的原因。文件夹中不能有同名文件。您需要媒体 ID 做什么?您已经获得了 DownloadManager 的 ID,因此您可以确定下载 uri。
    • can then query the MediaStore and see it is added automatically. 您可以指示 DownloadManager 更新 MediaStore,它会这样做。
    • 用户按下下载并在下载完成后收到一个下载 uri。然后,我将该下载 uri 与该文件的应用程序内部 ID 一起存储。然后用户再次启动应用程序并查询 MediaStore,现在我需要将该 MediaStore 记录与之前存储的具有下载 uri 的项目进行匹配。
    • 但是为什么呢?为什么??你还没说为什么!为什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    相关资源
    最近更新 更多