Android Fileprovider总是抛出错误
我查看了StackOverflow上的所有答案,没有找到适合我的答案 对于真实设备和模拟器,同样的错误 Fileprovider始终抛出IllegalArgumentException 有明显的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"
<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());