Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.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_Android Intent_Android Fileprovider_Internal Storage_Android Internal Storage - Fatal编程技术网

Android Fileprovider总是抛出错误

Android Fileprovider总是抛出错误,android,android-intent,android-fileprovider,internal-storage,android-internal-storage,Android,Android Intent,Android Fileprovider,Internal Storage,Android Internal Storage,我查看了StackOverflow上的所有答案,没有找到适合我的答案 对于真实设备和模拟器,同样的错误 Fileprovider始终抛出IllegalArgumentException 有明显的 <application ... <provider android:name="android.support.v4.content.FileProvider" android:grantUriPermissions="true"

我查看了StackOverflow上的所有答案,没有找到适合我的答案

对于真实设备和模拟器,同样的错误

Fileprovider始终抛出IllegalArgumentException

有明显的

<application
   ...

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:grantUriPermissions="true"
        android:exported="false"
        android:authorities="${applicationId}">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/filepath"/>
    </provider>

</application>
logger.getFileName()-返回实际文件名,例如:“logs_22032019.txt”

我已经尝试过的: 清单中的更改,例如: android:authorities=“com.realname.of.package” filepath.xml中的更改

<paths>
<files-path
    name="logs"
    path="logs/" /></paths>
name="logs"
  • 1) 与文件名相同2)只是/

    path=“logs/”

  • 1) 。2) /3)完整路径4)文件5)/文件6)文件/e.t.g

我注意到的是,确实存在文件的路径:

/data/user/0/com.app.realname/files/log.txt
但其中的FileProvider用于:

"log.txt" -> "/data/data/com.app.realname/files/log.txt"-->
注意:我只需要内部存储

logger.getFileName()-返回实际文件名,例如:“logs_22032019.txt”

这不是有效的文件系统路径。它是一个有效的文件名,但没有说明该文件应该在设备上的什么位置

这是您的
FileProvider
配置:

<files-path
    name="logs"
    path="logs/" />
确实存在文件的路径。。。但其中的文件提供者将转到


对于主设备用户来说,这些都是相同的文件系统位置。

它可以工作!多谢各位!我讨厌我的疏忽。浪费了这么多时间。
<files-path
    name="logs"
    path="logs/" />
File file = new File(getFilesDir(), "logs/"+logger.getFileName());