android - 如何使用 FileProvider 从任何路径共享文件?

标签 android android-contentprovider android-fileprovider

我的应用程序允许用户下载一些内容并将其存储在他选择的文件夹中。 我想创建一个 ContentProvider 来共享这些文件,但当下载的文件存储在应用程序默认路径之外时,我不知道该怎么做。

我尝试对以下文件路径进行 decalre:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="." path="/" />
</paths>

但它只是尝试将共享文件路径与应用程序默认文件夹的根目录相匹配。 例如,有没有办法从 SD 卡共享文件? 如果可以,我该怎么做?

最佳答案

Is there a way share files from the SD card for example ?

使用 <external-path>而不是 <files-path> . FileProvider 的文档has a bug ; <external-path>映射到 Environment.getExternalStorageDirectory() .

关于android - 如何使用 FileProvider 从任何路径共享文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276888/

相关文章:

java - 使用 11 之前的 Loader em API 版本

android - IntentService 和 CursorLoader 同步问题

Android 7 nougat,如何从传入 Intent 的uri获取文件路径?

java - Eclipse 调试器跳转到错误的返回语句

android - 在不使用 nameValuePairs 的情况下使用 HttpPost 在 Android 上发送字符串

android - Robolectric 和 Android Studio 1.1.0 和库测试

android - 如何在 Android Oreo (8.1) 或更高版本中从 URI 获取文件路径

java - android - 回调函数 - 现在显示对话框

android - 使用日历 API 摆脱 Android 日历事件中的 "Attending?"

android - 致命异常 : ThumbnailManager-1 while sharing images to Intent