调用需要API级别21(当前最小值为17):android.hardware.camera2.CameraDevice.StateCallback

问题描述 投票:2回答:1

Android Studio中出错。我有Android 4.4.2的智能手机,我无法安装更新。我该怎么办?

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;
    }
};
android require android-api-levels
1个回答
1
投票

严格来说,这不是解决这个问题的正确方法,但你仍然可以使用旧设备和新设备,只需在相机启动时延迟2-3秒,如下所示:

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

如果你真的需要支持21岁以上和23岁以上的设备,这在大多数情况下都有效。

© www.soinside.com 2019 - 2024. All rights reserved.