代码改变世界

相机拍照功能之权限和Android版本问题

对于Android 6.0之前,想要使用系统的相机进行拍照,那么只要在AndroidManifedt.xml中进行添加相应的权限,主要是两个:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>

这样设置完成后,当在Android 6.0一下(不包括6.0)进行使用系统相机进行拍照是完全没有问题,当我们进行点击拍照功能时,此时系统就会提醒我们打开相应的权限,这说明使用系统相机进行拍照是没有问题的,但是,但使用Android 6.0以上系统(包括6.0)时,此时点击拍照功能时,此时就会只弹出一个“黑色提示框”,而且功能完全是死的,没有任何的相应。通过上网百度,发现对于Android 6.0以上系统,不能只是在AndroidManifest.xml中进行配置,还要在程序代码中进行动态设置相应的权限。

ActivityCompat.requestPermissions($.getActivity(),
        new String[]{Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE},
        1);

红色标志的代码就是在代码中进行动态设置的权限,也是关于相机的两个权限,分别是Manifest.permission.CAMERA和Manifest.permission.WRITE_EXTERNAL_STORAGE。

设定动态权限后,此时,在Android 6.0以上系统中就也会弹出相应的开启相机使用权限和外部存储相应的功能了,此时不管是Android 6.0以上还是以下,相机拍照功能都是相互兼容的。

最新文章

  1. 多线程爬坑之路-Thread和Runable源码解析
  2. C++之map、list操作
  3. 拓扑排序 +Floyd(poj 1094)
  4. &lt;极客学院&gt;视频教程学习笔记-iOS中CALayer的使用
  5. Oracle GoldenGate 12c实时捕获SQL Server数据
  6. Python入门(三,初级)
  7. 用 JavaScript 修改样式元素
  8. springmvc+json
  9. POJ 2455 Secret Milking Machine(搜索-二分,网络流-最大流)
  10. 项目构建之maven篇:2.HelloWorld项目构建过程
  11. hdu4027线段树
  12. BZOJ_2393_Cirno的完美算数教室&amp;&amp;BZOJ_1853_[Scoi2010]幸运数字 _深搜+容斥原理
  13. 程序猿想聊天 - 創問 4C 團隊教練心得(二)
  14. 图像识别与OpenCV——Mat类与Mat_类的内存管理
  15. python小程序--Two
  16. ELK实践(二):收集Nginx日志
  17. (拼接SQL语句)mysql中date类型,datetime类型
  18. sqlserver2008r2数据库使用触发器对sa及其他数据库账号访问进行IP限制
  19. [POJ2761]Feed the dogs
  20. Linux系统排查——CPU负载篇

热门文章

  1. 理解Postgres性能
  2. userBean设置属性2
  3. 如何选择Web开发框架
  4. win10 KMS激活
  5. HDU - 5096 ACM Rank (Treap)
  6. CPP-网络/通信:用CMarkup类操纵XML
  7. linux readahead
  8. MVCPager学习小记
  9. c++作业:输入两个整数,用函数求两数之和。函数外部声明有什么作用?
  10. kvm笔记