ユーザーがデバイスにログインするとすぐに、前面カメラで写真を撮ろうとしています。私の目標は、カメラのアクティビティを開始してできるだけ早く写真を撮ることで、ユーザーが知らないうちに写真を撮ることです。私はAndroid Webサイトのコードをたどりましたが、アプリケーションは動作しています。
アクティビティが開始されたら写真を撮ろうとしていますが、これは現在私の中にあります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秒間待機しましたが、機能しませんでした。