Android 照相机权限的声明_androidmanifest定位权限和相机权限怎么声明-程序员宅基地

技术标签: app  解决方案  android  

最近写项目,发现在AndroidManifest.xml中声明了调用相机权限之后,打开app无法启动相机,经过一番搜查发现:

问题在于当写项目所使用的API的版本过高时(比如我所用的测试机为android 5.0,而我写这个工程所用的API为27,即android 7.0 ),导致APP无法自动向系统请求硬件调用的权限。

解决方案:

在activity初始化布局之后,加上如下代码即可:

	setContentView(R.layout.activity_camera);
	//申明一个权限
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
	    requestPermissions(new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, CAMERA_JAVA_REQUEST_CODE);
	}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangpeikai/article/details/53866484

智能推荐

线性卷积、周期卷积、圆周卷积------一篇弄懂-程序员宅基地

文章浏览阅读3.9w次,点赞118次,收藏267次。谈到DSP,几个“卷积”总是要弄清楚的。_圆周卷积

screen显示窗口查看历史输出_screen查看历史输出-程序员宅基地

文章浏览阅读1.5w次,点赞15次,收藏34次。在screen当前显示的视窗下,当输出信息很多时,想直接利用鼠标或者方向键查看历史输出的话,会发现不行。方法先利用ctrl-a [ 进入copy mode。在copy mode下可以回滚、搜索、复制就像用使用 vi 一样。在copy mode下有这些快捷键:C-b :Backward、PageUpC-f :Forward、PageDownH: High,将光标移至左上角L:L..._screen查看历史输出

基于微信小程序的酒店管理系统的设计与开发(源码+lw+部署文档+讲解等)-程序员宅基地

文章浏览阅读1k次,点赞19次,收藏28次。博主介绍:新人博主,工作经验两年+、专注于Java、小程序技术领域和毕业项目实战文末获取源码+数据库_基于微信小程序的酒店管理系统

5,将本章的例2.4改写为一个多文件的程序: (1)将类定义放在头文件arraymax.h中; (2)将成员函数定义放在源文件arraymax.cpp中; (3)主函数放在源文件filel.cpp中。-程序员宅基地

文章浏览阅读8k次。Arraymax.h#include class Array_max{public:void set_value();void max_value();void show_value();private:int array[10];int max;};Arraymax.cpp#include#include"arraymax.h"using namespace std;void Array_max_将本章的例2.4改写为一个多文件的程序

TensorFlow:维度变换_tensorflow将shape的某两维进行调换-程序员宅基地

文章浏览阅读7.7k次,点赞5次,收藏25次。基本的维度变换包含了改变视图 reshape,插入新维度 expand_dims,删除维 squeeze,交换维度 transpose,复制数据 tile 等。文章目录一、张量的存储和视图(View)概念二、Reshape 操作三、增删维度1. 增加维度2. 删除维度四、交换维度五、数据复制六、Broadcasting(自动扩展)一、张量的存储和视图(View)概念张量的视图就是我们理解张量..._tensorflow将shape的某两维进行调换

基于Uniapp、SSM框架与Vue.js的公交信息在线查询系统设计与实现-程序员宅基地

文章浏览阅读471次,点赞11次,收藏17次。本文首先分析了系统的开发背景和意义,然后详细阐述了系统的整体架构、功能模块设计以及关键技术的实现过程,最后对系统的应用效果进行了评估和总结。基于Uniapp、SSM框架与Vue.js的公交信息在线查询系统的设计与实现,为市民提供了便捷、高效的公交信息查询服务。用户可以在页面上选择起点和终点,系统会根据用户的选择推荐最优的公交线路,并展示详细的线路信息,如途经站点、票价等。用户可以在地图上选择或输入站点信息,系统会根据用户的选择返回附近的公交站点列表,并展示站点的详细信息,如途经线路、首末班车时间等。

随便推点

对AIOps智能化运维的基础理解_智能运维发展的基础-程序员宅基地

文章浏览阅读1.1k次。AIOps 自从 Gartner 于2016年提出至今已有一段时间,虽然在顶级互联网及电信企业,已有较多落地,但至今仍无基于生产实践的理论体系及实施指南。AIOps,即 Artificial Intelligence for IT Operations,智能运维,将人工智能应用于运维领域,基于已有的运维数据(日志、监控信息、应用信息等),通过机器学习的方式来进一步解决自动化运维没办法解决的问题。从整个IT运维的发展,我们可以看到早期更多的是通过运维人员人工来完成,在人工阶段主要又做了两个方面的重要工作。_智能运维发展的基础

Auto.js 旋转图标_安卓 autojs让图片旋转-程序员宅基地

文章浏览阅读471次。"ui";importClass(android.animation.ObjectAnimator);ui.layout( <vertical> <img id="图片"src="@drawable/ic_loop_black_48dp" h="80" margin="12" bg="?selectableItemBackgroundBorderless"/> </vertical>);ui.图片.click(() => ._安卓 autojs让图片旋转

BACnet/IP之BACnet4j学习VTS创建虚拟设备及点位测试-程序员宅基地

文章浏览阅读1.2k次。 在前两篇文章中,我们使用的虚拟设备软件是Yabe,模拟天气数据,无法自定义自己的点位数据,这章就学习下使用VTS来自己创建虚拟设备,创建定义点位。1.下载VTS 链接: https://pan.baidu.com/s/1ym_oAZ8QIA8KvVypU7TxXA 提取码: n82f..._bacnet4j

linux系统管理教程pdf,Linux运维入门到高级全套系列PDF-程序员宅基地

文章浏览阅读517次。Linux 学习技巧初学者可以自己安装虚拟机,然后把 Linux 常用命令例如 cd、ls、chmod、useradd、vi 等等多练习几十遍,把自己敲打命令的熟练程度提升上来。然后根据文档搭建 Linux 下常见的各种服务 (DHCP、 SAMBA、 DNS、Apache、Mysql 等) ,遇到问题后可以在 google 搜索,搜索的时候多看几篇文章,综合最好的文章来解决问题。能够熟练的搭建..._linux系统教程pdf

【网络安全---漏洞复现】Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271)-程序员宅基地

文章浏览阅读393次。Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271);​Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。_cve-2017-10271

C语言 | 学会使用带参宏,提高编程基础(二)_带参宏指令-程序员宅基地

文章浏览阅读1.5k次,点赞4次,收藏5次。基本概念带参宏在我们的嵌入式编程中使用得非常多,其定义如下:define 标识符(参数列表) 字符序列其中参数列表中的参数之间用逗号分隔,字符序列中应包含参数表中的参数。在定义带参数的宏时,宏名标识符与左圆括号之间不允许有空白符,应紧接在一起,否则变成了无参数的宏定义。并且,字符序列与其每一个参数必须用括号扩起来,否则该宏定义可能会产生二义性 。下面举个简单的例子,定义一个求平方的宏函数..._带参宏指令