相机设置页中,菜品识别相机直接显示 deviceId_vendorId_productId 内部 ID,人脸识别相机则显示 USB 设备名称和 VID/PID,两个区域展示不一致。同时,菜品相机与人脸相机选择同一 UVC 设备时,原逻辑会先接受选择,再在预览阶段显示冲突状态,不符合“选择时立即阻止”的交互要求。
deviceId_vendorId_productId,不改变现有切换、分辨率和预览配置键。1008_11391_19040 与 11391_19040 为同一台摄像头。采用测试先行:
isSameCamera 编译失败,确认 RED。完整验证:
./gradlew :app:testDebugUnitTest :app:assembleDebug:成功。git diff --check:通过。USB2.0_CAM1 (11391/19040)USB 2.0 Camera (3141/25440)MC-500U (1374/41357)MC-500U,尝试选择人脸相机 USB2.0_CAM1 时立即提示并恢复 MC-500U。USB2.0_CAM1,尝试选择菜品相机 MC-500U 时立即提示并恢复 USB2.0_CAM1。SettingActivity 保持前台,日志未出现 Java 或 UVC 原生崩溃。仅调整“设置 → 相机设置”的相机展示和选择冲突处理,并增加相机身份比较能力;未修改菜品识别算法、人脸识别业务、支付流程、接口协议或 Git 历史。