谁能知道如何在 android 设备中获取相机的传感器尺寸?
谢谢
最佳答案
从 API 级别 21 开始是可能的。来自文档 (https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#SENSOR_INFO_PHYSICAL_SIZE):
public static final Key SENSOR_INFO_PHYSICAL_SIZE
The physical dimensions of the full pixel array. [...]
Units: Millimeters
我用的就是这种代码。当心,可能不止一台相机:
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;
}
请注意异常 CameraAccessException
需要被捕获。
不要忘记添加 <uses-sdk android:minSdkVersion="21" />
到你的 list 。
关于android - 如何在 Android 设备中获取相机传感器尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104252/