如何在Android设备中获取相机传感器尺寸?

SBJ*_*SBJ 6 camera android android-camera

谁能知道如何在Android设备中获取相机的传感器尺寸?

谢谢

Dom*_*Cat 8

它可以从API级别21开始.从文档(https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE):

public static final Key SENSOR_INFO_PHYSICAL_SIZE

全像素阵列的物理尺寸.[...]

单位:毫米

我用这种代码.请注意,可能不仅仅是一台摄像头:

import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;

private SizeF getCameraResolution(int camNum)
{
    SizeF size = new SizeF(0,0);
    CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    try {
        String[] cameraIds = manager.getCameraIdList();
        if (cameraIds.length > camNum) {
            CameraCharacteristics character = manager.getCameraCharacteristics(cameraIds[camNum]);
            size = character.get(CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE);
        }
    }
    catch (CameraAccessException e)
    {
        Log.e("YourLogString", e.getMessage(), e);
    }
    return size;
}
Run Code Online (Sandbox Code Playgroud)

请注意,CameraAccessException需要捕获异常.

不要忘记添加<uses-sdk android:minSdkVersion="21" />到您的清单.