网上一般给出的解决方案是修改framework源码:
frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java
下面给出不修改framework源码的解决方案:
1. 将Fileprovider exported设为true
此时会报错,SecurityException: Provider must not be exported
原因是androidx.core.content.FileProvider的限制:
2. 那么就自己写FileProvider,最简单的方法,把FileProvider代码全拷下来,把attachInfo种抛出异常的代码去掉:
3. 最后在Manifest文件中配置使用CustomFileProvider就行了: