问题遇到背景:
最近因为上级要求,需要做个人信息安全整改。这样一改,涉及到的不单单是以前的旧技术,还有安全级别越来越高的手机系统。对于开发层面来说,因为项目庞大、涉及业务比较多,千丝万缕,为了防止一个bug倒下,千千万万个bug站起来的问题,全盘更改代码,是不可能的。所以,找出新手机系统特征,是更改兼容的突破口,正所谓知己知彼,百战不殆。
当时主要是mate30出现这个问题。在编写代码和测试过程中,遇到的问题是:FileUriExposedException(这里我已经在清单文件AndroidManifest.java增加了 provider)。
具体错误信息:
2020-03-11 11:01:34.572 32359-32359/com.gdtel.eshore.check E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.*.*.*, PID: 32359
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/[自定义文件夹]/[名称].apk
at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:678)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:377)
atcom.*.*.*.activity.verupdate.VerUpdateActivity$DownloadTask.onPostExecute(VerUpdateActivity.java:258)
atcom.*