欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

【错误记录】Android 文件分享 FileProvider 设置错误

发布时间:2025/6/17 Android 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【错误记录】Android 文件分享 FileProvider 设置错误 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、报错信息
  • 二、解决方案





一、报错信息



分享内部存储到文件到其它应用 ;

2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Process Name: 'kim.hsl.file' 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Thread Name: 'main' 2021-05-18 16:10:23.480 31881-31881/kim.hsl.file E/DEBUG: Back traces starts. 2021-05-18 16:10:23.481 31881-31881/kim.hsl.file E/DEBUG: java.lang.IllegalArgumentException: Failed to find configured root that contains /data/data/kim.hsl.file/files/5.mp3 2021-05-18 16:10:23.481 31881-31881/kim.hsl.file E/DEBUG: at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:711) 2021-05-18 16:10:23.482 31881-31881/kim.hsl.file E/DEBUG: at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400) 2021-05-18 16:10:23.482 31881-31881/kim.hsl.file E/DEBUG: at android.view.View.performClick(View.java:6597) 2021-05-18 16:10:23.482 31881-31881/kim.hsl.file E/DEBUG: at android.view.View.performClickInternal(View.java:6574) 2021-05-18 16:10:23.483 31881-31881/kim.hsl.file E/DEBUG: at android.view.View.access$3100(View.java:778) 2021-05-18 16:10:23.483 31881-31881/kim.hsl.file E/DEBUG: at android.view.View$PerformClick.run(View.java:25885) 2021-05-18 16:10:23.483 31881-31881/kim.hsl.file E/DEBUG: at android.os.Handler.handleCallback(Handler.java:873) 2021-05-18 16:10:23.484 31881-31881/kim.hsl.file E/DEBUG: at android.os.Handler.dispatchMessage(Handler.java:99) 2021-05-18 16:10:23.484 31881-31881/kim.hsl.file E/DEBUG: at android.os.Looper.loop(Looper.java:193) 2021-05-18 16:10:23.484 31881-31881/kim.hsl.file E/DEBUG: at android.app.ActivityThread.main(ActivityThread.java:6718) 2021-05-18 16:10:23.484 31881-31881/kim.hsl.file E/DEBUG: at java.lang.reflect.Method.invoke(Native Method) 2021-05-18 16:10:23.485 31881-31881/kim.hsl.file E/DEBUG: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 2021-05-18 16:10:23.485 31881-31881/kim.hsl.file E/DEBUG: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 2021-05-18 16:10:23.485 31881-31881/kim.hsl.file E/DEBUG: Back traces ends. 2021-05-18 16:10:23.485 31881-31881/kim.hsl.file E/DEBUG: --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---





二、解决方案



配置 FileProvider ,

使用 androidx 支持库的情况 :

<manifest>...<application>...<providerandroid:name="androidx.core.content.FileProvider"android:authorities="com.mydomain.fileprovider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" /></provider>...</application> </manifest>

或 使用 support 支持库的情况 :

<manifest>...<application>...<providerandroid:name="android.support.v4.content.FileProvider"android:authorities="com.mydomain.fileprovider"android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/file_paths" /></provider>...</application> </manifest>

file_paths.xml 文件配置 : 下面的配置将所有的文件设置为可分享的文件 , 具体还要根据需求自己定制 ;

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

总结

以上是生活随笔为你收集整理的【错误记录】Android 文件分享 FileProvider 设置错误的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。