如何获取存储在使用context.getDir(directoryName,Context.MODE_PRIVATE)创建的文件夹中的文件的URI?

时间:2018-10-15 10:00:03

标签: android uri android-fileprovider

假设我在私有文件夹中创建一个文件,如下所示:

val dir = context.getDir("myDir", Context.MODE_PRIVATE)
val file = File(dir, "myFileName")

provider_path.xml的内容应该是什么?

<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!--for file created inside context.getFilesDir() directory-->
<files-path name="someDirectory" path="."/> 

<!--for files created inside "myDir" ???-->
</paths>

我知道如何获取在context.getFilesDir()中创建的文件的URI,但是可以获取在另一个私有目录中创建的文件的URI吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

  

provider_path.xml的内容应该是什么?

如果您指的是FileProvider,则它不支持任意位置,例如getDir("myDir", Context.MODE_PRIVATE)。可以将文件存储在受支持的位置(例如getFilesDir()之外的子目录),也可以编写自己的ContentProvider来从自定义目录中提供文件。