本文介绍: android使用相机 intent.resolveActivity returns null
问题
笔者使用java进行android开发,启动相机时 intent.resolveActivity returns null
详细问题
笔者使用如下代码启动相机
控制台报错:
解决方案
步骤1、 在packageappsrcmainAndroidManifest.xml中配置如下内容:
具体操作如下图所示:
具体代码:
产生原因
问题产生的原因是在Android 11及更高版本中,由于引入了更严格的权限控制和隐私策略,应用需要通过 元素在清单文件中声明对其他应用组件的查询权限。以笔者的情况为例,由于笔者在应用中使用了相机 (MediaStore.ACTION_IMAGE_CAPTURE),因此需要声明对相机应用的查询权限。
解决原因
解决方案中的配置 <queries>
元素指定了应用需要查询相机应用的权限。这告诉系统,笔者的应用会查询 IMAGE_CAPTURE 意图,因此系统会提供与该意图匹配的应用列表。
此配置的目的是允许系统知道你的应用将使用与相机相关的功能,以便为用户提供更好的控制和隐私保护。
总结
参加文献
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。