Автофокус не работает на Galaxy S9 и S9 + с библиотекой Zxing - PullRequest
0 голосов
/ 15 ноября 2018

・ симптом
Приложение использует zxing 1.9 для считывания QR-кода.
Работает хорошо почти на устройствах с Android, но доза работает плохо на устройствах Galaxy S9 и S9 +.
Это похоже на автофокусне работает.
До версии 8 Galaxy, без проблем.

・ среда
Android: от 5 до 8,0
Версия ядра: 4.9.65-144892203
zxing: 1.9 версия
Устройство: Galaxy S9, Galaxy S9 +

1 Ответ

0 голосов
/ 21 декабря 2018

Я решаю проблему с помощью следующего кода. Хорошо работает с Galaxy S8, S8 +, S9, S9 +.

private val autoFocusExecutor = ScheduledThreadPoolExecutor(1)

fun startCamera() {
if (camera == null) {
    camera = Camera.open()
    if (camera == null) {
        showCameraErrorMsg()
    } else {
        preview.camera = camera
        capturereceipt_textview_cameraerrormsg.visibility = View.GONE
        capturereceipt_framelayout_viewfinder.visibility = View.VISIBLE

        autoFocusExecutor.schedule(Sc{
            val params: Camera.Parameters = camera!!.parameters
            if (params.getSupportedFocusModes()
                    .contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
                //TODO: Auto focus not working
                params.focusMode = Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE
            }
            camera?.parameters = params
        }, 1000, TimeUnit.MILLISECONDS)
    }
}}
...