“设置 → 相机设置”原先通过 Camera2/CameraX 获取人脸相机。当前设备虽然在 USB 层连接了 3 个 UVC 相机,但 CameraManager 只稳定暴露其中 1 个,因此设置页无法完整列出设备,预览也可能无法启动。
vendorId_productId 保存设置页 UVC 相机标识。PreviewView 切换为 UVC TextureView,复用项目已有 UvcCameraController。invalid preview size。采用测试先行:
UvcCameraIdentityTest,先验证缺少标识实现时编译失败。完整验证:
./gradlew :app:testDebugUnitTest :app:assembleDebug:成功。USB2.0_CAM1 (11391/19040)USB 2.0 Camera (3141/25440)MC-500U (1374/41357)1004_1374_41357,人脸预览使用 11391/19040,两路设备未冲突。640x480 MJPEG 成功打开并持续输出预览画面。SettingActivity 保持前台,未出现 Java 或 UVC 原生崩溃。git diff --check:通过。本次仅修改设置页的人脸相机枚举、选择和预览,以及共用 UVC 控制器的尺寸与重复打开保护。业务人脸识别、支付测试和接口协议均未接入本次 UVC 设置,Git 历史未修改。