Все примеры вызова камеры Android с androidx.camera.core.ImageCapture находятся в Kotlin или действительно устарели, и я получаю странные ошибки компиляции с Java.
androidx.camera.core.ImageCapture imageCapture;
...
protected void onCreate(Bundle savedInstanceState) {
...
imageCapture = new ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.build();
...
}
public void snapQRCode(View view) {
imageCapture.takePicture(executor, new androidx.camera.core.ImageCapture.OnImageCapturedCallback(){
void onCaptureSuccess(ImageProxy image){}
void onError(ImageCaptureException exception) {}
}
);
}
Это приводит к ошибке компиляции:
ошибка: onCaptureSuccess (ImageProxy) в анонимном xyz.MainActivity $ 1 не может переопределить onCaptureSuccess (ImageProxy) в OnImageCapturedCallback void onCaptureSuccess (изображение ImageProxy) {} *
Я запутался, потому что ImageCapture.OnImageCapturedCallback является абстрактным. Я не должен переопределять вообще. Я почти уверен, что камера настроена правильно, но если кто-то сможет объяснить эту ошибку и, возможно, предоставить несколько строк (Java) кода, который привязывает изображение и возвращает изображение, это было бы очень полезно.
Вот библиотеки, которые я использую в app / build.gradle:
def cameraxVersion = "1.0.0-beta03"
implementation "androidx.camera:camera-core:${cameraxVersion}"
implementation "androidx.camera:camera-camera2:${cameraxVersion}"
implementation "androidx.camera:camera-lifecycle:${cameraxVersion}"