一旦用户登录他们的设备,我就会尝试用前置摄像头拍照。我的目标是通过启动相机活动并尽快拍照,在用户不知情的情况下拍照。我已经遵循了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 秒钟,但它没有完成这项工作。