gpt4 book ai didi

android - 如何在内容提供者中存储文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:01 25 4
gpt4 key购买 nike

我需要将 Zip 文件附加到 Android 电子邮件编辑器中的邮件。

Zip 文件由我的应用程序创建并存储在应用程序的私有(private)存储区域(可通过 getFilesDirectory() 访问)。我正在获取此 Zip 文件的 URI 并将其附加到电子邮件 Intent 对象;当我启动电子邮件 Activity 时,我可以看到附件,但我的电子邮件收件人没有收到文件,

在对此进行一些研究后,我发现我的应用程序数据无法与其他应用程序(在本例中为 Android 电子邮件应用程序)共享。

为了解决这个问题,我想实现使用内容提供者共享我的应用程序数据的推荐解决方案。

首先,我想确认这是否可行,如果可行,请给我一些关于如何进行的提示。我需要知道如何将我的 Zip 文件从我的应用程序的 getFilesDirectory() 复制到内容提供者,以及如何将内容提供者 URI 附加到电子邮件 Intent 对象。

我无法将我的 zip 文件放入 SD 卡...

我只想将我的文件存储到我的设备内部存储器中并附加到电子邮件编辑器。

最佳答案

默认情况下,设备上的任何应用程序都可以访问ContentProvider。如果您希望设备上的任何应用程序都可以访问这些文件,请创建一个 ContentProvider,并使用 getType()openFile()< 的实际实现。然后,content:// URL 应该可以与电子邮件应用程序 AFAIK 一起使用。

Here is a sample project演示 ContentProvider 从本地存储提供文件,在本例中为 WebView

关于android - 如何在内容提供者中存储文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6534698/

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