Android 错误:找不到符号方法setPreviewDisplay(SurfaceHolder)

Android 错误:找不到符号方法setPreviewDisplay(SurfaceHolder),android,android-layout,android-camera,Android,Android Layout,Android Camera,我正在使用macbook上的Android Studio,根据Android官方文档创建简单的摄像头应用程序。但是,当我尝试调用camera.setPreviewDisplay(SurfaceHolder)时,出现以下错误: 错误:(29,16)错误:找不到符号方法 setPreviewDisplay(表面文件夹) 另外,我的CameraPreview课程如下: package com.opencv.camerapreview; import android.content.Context;

我正在使用macbook上的Android Studio,根据Android官方文档创建简单的摄像头应用程序。但是,当我尝试调用
camera.setPreviewDisplay(SurfaceHolder)
时,出现以下错误:

错误:(29,16)错误:找不到符号方法 setPreviewDisplay(表面文件夹)

另外,我的CameraPreview课程如下:

package com.opencv.camerapreview;

import android.content.Context;
import android.graphics.Camera;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;


public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback{
    private SurfaceHolder surfaceHolder;
    private Camera mCamera;

    public CameraPreview(Context context, Camera camera) {
        super(context);
        mCamera=camera;
        this.surfaceHolder= getHolder();
        this.surfaceHolder.addCallback(this);
        surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }


    @Override
    public void surfaceCreated(SurfaceHolder holder) {
        mCamera.setPreviewDisplay(holder);

    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

    }

    @Override
    public void surfaceDestroyed(SurfaceHolder holder) {

    }
}
看起来这是Android Studio中的链接问题。有谁能解释一下为什么会发生这种情况以及解决办法吗。谢谢你导入了

import android.graphics.Camera;
你应该进口

import android.hardware.Camera;
甚至

import android.hardware.camera2;
如果您的目标是API 21及以上