欢迎光临
我们一直在努力

Android 开发问题:Couldn‘t find meta-data for provider with authority com.my.bitmap.provider

photoURI = FileProvider.getUriForFile(this, getPackageName() + ".provider", file);

FATAL EXCEPTION: main
Process: com.my.bitmap, PID: 12310
java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=958061211, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.my.bitmap/com.my.bitmap.BitmapGetActivity}: java.lang.IllegalArgumentException: Couldn't find meta-data for provider with authority com.my.bitmap.provider

# 关键错误信息

java.lang.IllegalArgumentException: Couldn't find meta-data for provider with authority com.my.bitmap.provider

问题原因
  • 这个错误表示代码使用一个授权为 com.my.bitmap.provider 的 ContentProvider

  • 但是,Android 系统在应用清单文件中找不到与此授权名称匹配的 provider 声明

  • 处理策略
  • AndroidManifest.xml,确保在应用清单文件中声明与此授权名称匹配的 provider
  • <application>

    <provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.provider"
    android:exported="false"
    android:grantUriPermissions="true">

    <meta-data
    android:name="android.support.FILE_PROVIDER_PATHS"
    android:resource="@xml/file_paths" />

    </provider>
    </application>

  • file_paths.xml
  • <?xml version="1.0" encoding="utf-8"?>
    <paths>

    <!– 对应 Context.getFilesDir() 路径,…/files –>
    <files-path
    name="my_files"
    path="." />

    <!– 对应 Context.getCacheDir() 路径,…/cache –>
    <cache-path
    name="my_cache"
    path="." />

    <!– 对应 Context.getExternalFilesDir(null) 路径,…/files –>
    <external-files-path
    name="my_external_files"
    path="." />

    <!– 对应 Context.getExternalCacheDir() 路径,…/cache –>
    <external-cache-path
    name="my_external_cache"
    path="." />

    <!– 对应getExternalFilesDir(Environment.DIRECTORY_PICTURES) 路径,…/files/Pictures –>
    <external-files-path
    name="my_external_pictures"
    path="Pictures" />

    </paths>

    赞(0)
    未经允许不得转载:171主机测评 » Android 开发问题:Couldn‘t find meta-data for provider with authority com.my.bitmap.provider
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址