Котлин – неразрешенная ссылка для константы

Я пытаюсь использовать образец кода нового API аппаратного обеспечения камеры (android.hardware.camera2) для моего приложения для Android. Во-первых, я преобразовал код Java в код Котлина с помощью функции автоматического преобразования плагина Kotlin для Android Studio. Ниже приведен фрагмент преобразованного кода:

private val mCaptureCallback = object : CameraCaptureSession.CaptureCallback() { private fun process(result: CaptureResult) { when (mState) { STATE_PREVIEW -> { }// We have nothing to do when the camera preview is working normally. STATE_WAITING_LOCK -> { val afState = result.get(CaptureResult.CONTROL_AF_STATE) if (CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED == afState || CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED == afState) { // CONTROL_AE_STATE can be null on some devices val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE) if (aeState == null || aeState == CaptureResult.CONTROL_AE_STATE_CONVERGED) { mState = STATE_WAITING_NON_PRECAPTURE captureStillPicture() } else { runPrecaptureSequence() } } } STATE_WAITING_PRECAPTURE -> { // CONTROL_AE_STATE can be null on some devices val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE) if (aeState == null || aeState == CaptureResult.CONTROL_AE_STATE_PRECAPTURE || aeState == CaptureRequest.CONTROL_AE_STATE_FLASH_REQUIRED) { mState = STATE_WAITING_NON_PRECAPTURE } } STATE_WAITING_NON_PRECAPTURE -> { // CONTROL_AE_STATE can be null on some devices val aeState = result.get<Int>(CaptureResult.CONTROL_AE_STATE) if (aeState == null || aeState != CaptureResult.CONTROL_AE_STATE_PRECAPTURE) { mState = STATE_PICTURE_TAKEN captureStillPicture() } } } } 

Я получаю неразрешенную опорную ошибку для:

 CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED CaptureResult.CONTROL_AE_STATE_CONVERGED CaptureResult.CONTROL_AE_STATE_PRECAPTURE CaptureRequest.CONTROL_AE_STATE_FLASH_REQUIRED 

Но эти константы распознаются в исходном коде Java. Есть ли какое-либо решение для этих ошибок?

Эти переменные объявляются в CameraMetadata. В Kotlin статические переменные и методы нельзя вызывать в подклассах.

Intereting Posts
Swift if let и еще в Котлине Класс не найден, пустой набор тестов в androidTest с использованием Android Studio 3.0.1, Room, Kotlin Тип тестового элемента контейнера в котлине Изменить текучесть <Список <Obj1 >> в текущую <Список <Obj2 >> в комнате SortedList IndexOutOfBoundsException: обнаружена несогласованность. Недопустимая позиция позиции при удалении последнего элемента Dagger2 @Nullable аннотация с Kotlin Android Things: NullPointerException при получении данных через USB UART по малине PI 3 Как отключить кнопку точки в android Kotlin Kotlin – Кинжал 2 – это не инъекционные объекты Можно ли отключить подсказки для неназванных параметров в Android Studio? Инфиксная нотация и с (…) не работают, как я ожидал Kotlin: как вернуть исполняемый экземпляр службы в связующее? Как обрабатывать пустой параметр в Котлине? Как связать и отобразить статус выполнения, используя привязку данных в android Равномерное авторазведение нескольких текстовых элементов