Android调用相机出现FileExposedException

今天碰到了个奇怪的问题,在调用相机时闪退了,此时宝宝的内心是崩溃的,还好在费了九牛二虎之力后最终把它给解决了,步骤如下:

步骤一:
在Manifest文件中加上这么一句话


            

注意了:
packagename改为自己的包名,如com.google.news

步骤二:
在res目录下新建文件夹xml,然后在xml文件夹下新建名为file_paths的xml文件


    

步骤三:
把之前的Uri.fromFile改为

FileProvider.getUriForFile(context,
                context.packageName + ".packagename.fileProvider", file)

注意:packagename仍然要改为自己的包名,别忘了packagename前面的.,这里主要和Manifest文件中声明的android:authorities
保持一致

最后注明:
此方法为API24所有,所以如果minSdkVersion小于24的话要做判断,判断方法如下:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
            
        } else {
            
        }

改完之后会发现此时又可以愉快的玩耍啦!!!

你可能感兴趣的:(Android调用相机出现FileExposedException)