如何启动相机并拍摄照片
问题描述:
我正在尝试进行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中IMAGE_CAPTURE意图的返回并启动您的活动以从此编辑图像!
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中检查resultCode并从mOutputFileUri中获取你的图像。
您还需要检查外部媒体存在并处理HTC设备的相机应用程序行为问题。