Android7.0以上打开相机的权限更加严格了,有很多博客也是讲这些具体操作的,如果想更深入了解,请自行搜索,这里我只是列出使用的方法,第一行代码第二版的内容,打开相机的权限是基于android7.0,如果完整的按照书上内容写个demo,是可以实现的。这里面我综合了书上的内容,在加上从几篇博客上的总结,写了一个测试的Demo,运行在真机上是没问题(android8.0)。
下面说一下步骤
1、在AndroidManifest.xml文件下的《application》标签中定义一个《provider》内容提供者。
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="你自己的包名"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
2、在res文件目录下创建一个xml文件夹,里面生成一个provider_paths.xml文件
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!--"."表示所有路径-->
<external-path name="名字随便填" path="."/>