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 声明
处理策略
<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>
<?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>




