美文网首页Android知识Android开发经验谈Android开发
Android调用相机出现FileExposedExceptio

Android调用相机出现FileExposedExceptio

作者: 猿田 | 来源:发表于2017-06-30 11:43 被阅读43次

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

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

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.packagename.fileProvider"
            android:grantUriPermissions="true"
            android:exported="false">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
</provider>

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

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

<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path
        name="external_files"
        path="." />
</paths>

步骤三:
把之前的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调用相机出现FileExposedExceptio

    本文链接:https://www.haomeiwen.com/subject/lxvbcxtx.html