Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FileProvider-使用默认的内部存储文件夹、文件路径_Android - Fatal编程技术网

Android FileProvider-使用默认的内部存储文件夹、文件路径

Android FileProvider-使用默认的内部存储文件夹、文件路径,android,Android,文件中说: 文件提供程序只能为中的文件生成内容URI 您预先指定的目录。要指定目录, 使用的子元素以XML形式指定its存储区域和路径 元素。例如,下面的paths元素告诉我们 您打算为图像请求内容URI的FileProvider/ 您的私有文件区域的子目录 <paths xmlns:android="http://schemas.android.com/apk/res/android"> <files-path name="my_images" path="images/

文件中说:

文件提供程序只能为中的文件生成内容URI 您预先指定的目录。要指定目录, 使用的子元素以XML形式指定its存储区域和路径 元素。例如,下面的paths元素告诉我们 您打算为图像请求内容URI的FileProvider/ 您的私有文件区域的子目录

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

... 
如果我不想使用子目录,而是使用默认的internalstorage目录,该怎么办

  • 这是文档中的一个示例文件路径xml文件:

    
    

  • 当我在项目中使用它时,我得到“属性缺少Android名称空间前缀”

    我应该加上吗?有没有可能文档中有错误,或者我在什么地方犯了错误

    如果我不想使用子目录,而是使用默认的internalstorage目录,该怎么办

    关闭
    路径
    属性

    当我在项目中使用它时,我得到“属性缺少Android名称空间前缀”

    我不知道是什么给了你这个信息。如果它是一个IDE,它可能是IDE中的一个bug。从技术上讲,我们甚至不需要名称空间声明,尽管我们也有名称空间声明

    我应该加上吗


    不,不用它也可以。

    所以应该是这样吗?@J.K:对。就我个人而言,我用的是
    东西
    ,而不是
    任何东西
    :-)最后一件事-我需要在哪里使用我在文件路径中提供的名称(在我的情况下,无论如何,在你的情况下)?为什么你的文件提供者称为LegacyCompatFileProvider而不是android.support.v4.content.FileProvider?@J.K:因为我子类化了
    文件提供者
    。有些不幸的开发人员认为所有
    内容://
    Uri
    值必须来自
    MediaStore
    ,并尝试使用不存在的
    \u data
    LegacyCompatFileProvider
    覆盖
    query()
    ,并使用
    LegacyCompatCursorWrapper
    提供一个空的
    \u数据
    列,这提高了与其中一些应用程序的兼容性。在您的情况下(通过Android媒体API播放视频),这些都不需要。
    <files-path name="my_images" path="images/"/>
    
    <files-path name="my_docs" path="docs/"/>