Android 如何启动相机并拍照

Android 如何启动相机并拍照,android,android-layout,Android,Android Layout,我正在尝试制作一个Android演示。在演示中,我必须在一个活动中展示相机,并在进入另一个活动之前拍照,在那里我可以看到带有图片和小菜单的相机 如何启动相机并拍照?在我的应用程序中,我使用以下代码启动相机: public void imageFromCamera() { Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); mImageFile = new File(Environment.getExt

我正在尝试制作一个Android演示。在演示中,我必须在一个活动中展示相机,并在进入另一个活动之前拍照,在那里我可以看到带有图片和小菜单的相机


如何启动相机并拍照?

在我的应用程序中,我使用以下代码启动相机:

public void imageFromCamera() {
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    mImageFile = new File(Environment.getExternalStorageDirectory()+File.separator+"MyApp",  
            "PIC"+System.currentTimeMillis()+".jpg");
    mSelectedImagePath = mImageFile.getAbsolutePath();
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mImageFile));
    startActivityForResult(intent, TAKE_PICTURE);
}
这会将图像保存到路径mSelectedImagePath,即/sdcard/MyApp/.jpg

然后,您在onActivityResult中捕获图像捕获意图的返回,并启动您的活动以从那里编辑图像

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        switch(requestCode) {
        case TAKE_PICTURE:
                    //Launch ImageEdit Activity
            Intent i = new Intent(this, ImageEdit.class);
                    i.putString("imgPath", "mSelectedImagePath");
                    startActivity(i);
            break;
        }
    }
}

希望这有帮助

这方面的在线教程很多,下面是一些示例:


这是代码示例

Uri mOutputFileUri;
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutputFileUri); // URI of the file where pic will be stored

startActivityForResult(intent, TAKE_PICTURE_FROM_CAMERA);
然后在onActivityResult中,只需检查结果代码并从mOutputFileUri获取图像

您还需要检查外部媒体是否存在,并处理HTC设备的摄像头应用程序行为问题