2

一旦用户登录他们的设备,我就会尝试用前置摄像头拍照。我的目标是通过启动相机活动并尽快拍照,在用户不知情的情况下拍照。我已经遵循了android 网站上的代码,并且我的应用程序确实可以运行。

现在我正在尝试在活动开始后拍照,这目前在我的onCreate

 // Create our Preview view and set it as the content of our activity.
    mPreview = new CameraPreview(this, mCamera);
    final FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    preview.addView(mPreview);

    // Add a listener to the Capture button
    Button captureButton = (Button) findViewById(id.button_capture);
    captureButton.setOnClickListener(
        new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // get an image from the camera
                mCamera.takePicture(null, null, mPicture);
            }       
        }
    );

但是当我将其注释掉以替换它时:

mCamera.takePicture(null, null, mPicture);

我收到一个错误

04-10 15:03:11.006: E/AndroidRuntime(25729): java.lang.RuntimeException: Unable to start activity 
 ComponentInfo{com.example.cameraactivity/com.example.cameraactivity.CameraActivity}:
 java.lang.RuntimeException: takePicture failed

我不知道为什么它不起作用,是因为我的surfaceview还没有启动吗?我想拍照太快?我已经等待了 5 秒钟,但它没有完成这项工作。

4

0 回答 0