2016-10-14 2 views
1

Ошибка в Android Studio. У меня есть смартфон с Android 4.4.2, и я не могу установить новое. Что мне делать?для вызова требуется уровень API 21 (текущий минимум равен 17): android.hardware.camera2.CameraDevice.StateCallback

private CameraDevice.StateCallback mCameraDeviceStateCallback = new CameraDevice.StateCallback(){ 
    @Override 
    public void onOpened(CameraDevice camera){ 
     mCameraDevice = camera; 
    } 
    @Override 
    public void onDisconnected(CameraDevice camera){ 
     camera.close(); 
     mCameraDevice = null; 
    } 
    @Override 
    public void onError(CameraDevice camera, int error){ 
     camera.close(); 
     mCameraDevice = null; 
    } 
}; 
+0

Вы можете динамически проверять версию ОС устройства, на котором вы работаете, и использовать этот вызов только в том случае, если он высокий достаточно. Вы не можете использовать его на старых устройствах. – Henry

ответ

0

Строго говоря, это не правильный способ решения этой проблемы, но вы все еще можете использовать старую камеру с новыми устройствами, просто поставить задержку 2-3 секунд на старте камеры, как это:

final Handler handler = new Handler(); 
      handler.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        mCamera.startPreview(); 
       } 
      }, 2000); 

Этих будет работать в большинстве случаев, если вам действительно необходимо поддерживать устройства как старше 21, так и выше, чем 23.

Смежные вопросы