我正在尝试在Android应用程序中实现摄像头界面,但是遇到了问题。当我尝试实现CameraDevice.StateCallback时,我必须重写抽象方法(显然是……),但是onError会生成错误!
这是我在Android Studio中重写时得到的:
@Override
public void onError(@NonNull CameraDevice cameraDevice, @IntDef(value = {CameraDevice.StateCallback.ERROR_CAMERA_IN_USE, CameraDevice.StateCallback.ERROR_MAX_CAMERAS_IN_USE, CameraDevice.StateCallback.ERROR_CAMERA_DISABLED, CameraDevice.StateCallback.ERROR_CAMERA_DEVICE, CameraDevice.StateCallback.ERROR_CAMERA_SERVICE}) int i) {
}
是导致错误的@IntDef部分,但我不知道@IntDef的工作原理,所以有人可以告诉我吗?简单删除它是否安全?如果是这样,那为什么首先存在呢?
最佳答案
是的,可以安全删除。这是我对onError的覆盖的外观:
public void onError(CameraDevice camera, int error) {
//do stuff
}
您可以将int错误值与https://developer.android.com/reference/android/hardware/camera2/CameraDevice.StateCallback.html#ERROR_CAMERA_DEVICE中的文档进行比较