Странные ошибки компиляции, реализующие OnImageCapturedCallback () для съемки с androidx - PullRequest
0 голосов
/ 20 апреля 2020

Все примеры вызова камеры 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}"
...