【问题标题】:How to set file provider for images stored in app data folder如何为存储在应用数据文件夹中的图像设置文件提供程序
【发布时间】:2021-05-25 11:55:55
【问题描述】:

我一直在研究CameraX API,并将捕获的图像存储在Internal storage App 数据文件夹中,路径为storage/emulated/0/Android/data/packageName/Files/IMG_25052021_171806.jpg

现在我想获取此保存图像的内容 URI。为此,我一直在 Manifest 中使用 provider

<provider
        android:name="androidx.core.content.FileProvider"
        android:authorities="com.abc.xyz.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/filepath" />
    </provider>

File path

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

当我打电话给FileProvider.getUriForFile(ImageCrop.this,"com.abc.xyz.fileprovider", pictureFile); 时,它会回复我Illegal Argument Exception

请推荐!!!

【问题讨论】:

  • &lt;files-path 那是错误的路径。如果你只使用 FileProvider 谷歌,你会来到 FileProvider 的 android 开发者页面,在那里你可以找到所有内容。
  • @blackapps 感谢分享。它对我有很大帮助。问题已解决

标签: java android android-fileprovider android-camerax


【解决方案1】:

您似乎使用getExternalFilesDir() 作为文件系统位置。如果是这样,请在元数据 XML 资源中使用 &lt;external-files-path&gt;,而不是 &lt;files-path&gt;。请参阅the documentation 了解更多信息。

【讨论】:

    猜你喜欢
    • 2016-06-09
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 2012-03-28
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多