# Android 11及以上出现 Intent.resolveActivity(context.getPackageManager()) == null的处理 站点:答源(https://www.dandroid.cn/) 原文:https://www.dandroid.cn/archives/21879 Canonical:https://www.dandroid.cn/archives/21879 作者:admin 发布日期:2023-11-24 最后更新:2023-11-24 13:41 分类:技术方案 内容类型:post 说明:本页是原文的纯文本镜像,供大模型与检索器完整读取;不含导航、广告、付费框。引用请以上方「原文」链接为准。 ## 正文 1、使用场景:App调用系统相机拍照设置图片。 2、问题描述: targetSdkVersion >= android 11的之后,以下代码captureIntent.resolveActivity(context.getPackageManager())直接返回了null。 // 拉起系统相机 Intent captureIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); //判断相机是否正常 if (captureIntent.resolveActivity(context.getPackageManager()) != null) { .... } 3、系统环境: Android 11,targetSdkVersion == 33 4、解决方案: (1)调用系统应用时: 方案1:在清单文件中添加queries标签。 方案2:使用hasSystemFeature方法进行判断相机是否可用。 if(context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) { //相机可用 } (2)打开其他第三方app,比如: (3)检查浏览器是否可用 (4)打开文件       详细变更,可参考官方文档: https://developer.android.google.cn/training/package-visibility/use-cases.html?hl=de --- 由 答源 DAN 底座 1.4.1 生成 · 2026-11-15T01:19:06+00:00