You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android代码中如何识别当前运行设备并判断摄像头是否倒置

解决方案

方案1:通过设备名称匹配

不同平台可直接读取设备型号,匹配已知的倒置设备列表即可实现判断:

  • Android 平台:读取Build.MODEL字段获取设备型号,示例代码如下:
val deviceModel = Build.MODEL
val rotation = if (deviceModel.contains("Vuzix", ignoreCase = true)) {
    ROTATE.180
} else {
    ROTATE.NONE
}
  • iOS 平台:读取UIDevice.current.model字段获取设备型号,匹配逻辑同上。
  • 跨平台框架(Flutter/React Native等):使用对应平台的设备信息插件获取设备型号字段,逻辑和原生开发一致。

方案2:直接检测摄像头物理朝向

不需要维护设备名单,直接读取摄像头内置的传感器朝向参数即可判断:

  • Android 平台:通过Camera2 API的SENSOR_ORIENTATION参数获取摄像头物理朝向,返回值固定为0/90/180/270四种,示例代码如下:
CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
Integer sensorOrientation = characteristics.get(CameraCharacteristics.SENSOR_ORIENTATION);
int rotation = (sensorOrientation == 180) ? ROTATE.180 : ROTATE.NONE;
  • iOS 平台:通过AVCaptureDevice的相关属性读取摄像头物理朝向,判断是否需要180度旋转即可。
  • 注意:如果同时用到前后置摄像头,可增加摄像头类型判断过滤,避免前置摄像头默认朝向干扰逻辑。

补充建议

可以两种方案结合使用:优先匹配已知的倒置设备(如Vuzix),其余未知设备走传感器朝向判断,覆盖更多边界场景。

内容的提问来源于stack exchange,提问作者Big Red Boy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:36:07