迁移到AndroidX - android.support.FILE_PROVIDER_PATHS位置

33

我正在将项目迁移到AndroidX,但我遇到了一个问题。

<provider
    android:name="androidx.core.content.FileProvider" <--- Changed to X lib
    android:authorities="${applicationId}.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS" <---- ISSUE
        android:resource="@xml/file_paths" />
</provider>

我在整个互联网上搜索了,都找不到这个问题的解决方案:在使用AndroidX时,android.support.FILE_PROVIDER_PATHS应该替换成什么?


3
看起来还是一样的 - https://android.googlesource.com/platform/frameworks/support/+/androidx-master-dev/core/src/main/java/androidx/core/content/FileProvider.java#343。你遇到什么问题了? - Mike M.
4
没错。我本来没有问题,但我想确保这不会在某个时候崩溃,并且因为我看到了那里的“支持”关键字,我认为Android Studio没有正确进行迁移(例如对于android.support.design.widget.BottomNavigationView它没有起作用。我不得不手动操作)。谢谢回答! - sunlover3
请问您能否展示一下获取图片的方法。 - Ashish
1
到目前为止,AndroidX包中的FileProvider类有一个名为META_DATA_FILE_PROVIDER_PATHS的最终静态字符串变量,它引用了旧的支持库中使用的字符串:"android.support.FILE_PROVIDER_PATHS"。因此,我猜在xml文件中使用它是可以的。 - Leonardo Sibela
在Android清单文件中已经是这样(androidx.core.content.FileProvider),但在fileprovider.java文件中却不同android.support.v4.content.FileProvider => 我总是需要手动更改它以获取Android构建。 - Manoj Manu M
2个回答

49

依旧不变。示例此处中仍包含android.support.FILE_PROVIDER_PATHS


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

对于androidx,元数据应该像这样。从Android Studio中查看: https://developer.android.com/reference/androidx/core/content/FileProvider.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接