Android 17+ 摄像头设备类型分类——内置 / 外置 / 虚拟
Android 17 新增的分类
Android 17 对 CameraManager API 做了扩展,每个摄像头设备 ID 现在都带有一个设备类型标记:
- Built-in — 手机或平板自带的内置摄像头(前置、后置主摄、超广角、长焦等)
- External — 通过 USB 或 Wi-Fi 连接的外接摄像头(如 USB 摄像头、VR 头显的外部相机)
- Virtual — 虚拟摄像头,由系统或应用创建(如 ARCore 创建的虚拟相机、某些截图/录屏工具的虚拟输出)
为什么之前拿不到
Android 16 及之前的版本,CameraManager 只返回摄像头的逻辑 ID("0"、"1"、"2"),不告诉你这颗摄像头是内置还是外接。当手机同时连了 USB 摄像头时,开发者无法区分设备来源。Android 17 的改动解决了这个问题。
Castro 怎么显示
在摄像头模块顶部,Castro 会按分类把摄像头分成几个小分组,每个分组头部显示 Built-in Cameras / External Cameras / Virtual Cameras。如果设备连了外接摄像头,你会在 External 分组里看到它的参数。
对普通用户的意义
对绝大多数普通安卓用户来说,你只会看到 Built-in Cameras 这一个分组——因为大部分时候手机不会接外接摄像头或虚拟摄像头。但如果你:
- 用手机做主机接了 USB 摄像头
- 用 AR/VR 应用时创建了虚拟相机
- 用某些录屏工具时创建了虚拟输出
这些额外设备会出现在对应的分类里。